@lowcodeunit/applications-flow-common 1.33.113-lets-get-social-ish → 1.33.117-lets-get-social-ish

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.
@@ -1,5 +1,5 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { FormBuilder, Validators } from '@angular/forms';
1
+ import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
+ import { FormBuilder, Validators, } from '@angular/forms';
3
3
  import { Guid } from '@lcu/common';
4
4
  import { SourceControlFormControlsComponent } from '../../elements/projects/controls/forms/source-control/source-control.component';
5
5
  import { EaCService } from '../../services/eac.service';
@@ -8,7 +8,7 @@ export class ProcessorDetailsFormComponent {
8
8
  this.formBldr = formBldr;
9
9
  this.eacSvc = eacSvc;
10
10
  this.redirectTooltip = '';
11
- this.SaveFormEvent = new EventEmitter;
11
+ this.SaveFormEvent = new EventEmitter();
12
12
  }
13
13
  get APIRootFormControl() {
14
14
  var _a;
@@ -121,7 +121,7 @@ export class ProcessorDetailsFormComponent {
121
121
  this.setupProcessorDetailsForm();
122
122
  }
123
123
  SubmitProcessorDetails() {
124
- console.log("submitting proc details: ", this.ProcessorDetailsFormGroup.value);
124
+ console.log('submitting proc details: ', this.ProcessorDetailsFormGroup.value);
125
125
  this.SaveFormEvent.emit(this.ProcessorDetailsFormGroup.value);
126
126
  }
127
127
  ProcessorTypeChanged(event) {
@@ -176,6 +176,9 @@ export class ProcessorDetailsFormComponent {
176
176
  case 'GitHubOAuth':
177
177
  this.setupLCUGitHubOAuthForm();
178
178
  break;
179
+ case 'WordPress':
180
+ this.setupLCUWordPressForm();
181
+ break;
179
182
  // case 'NPM':
180
183
  // this.setupLCUNPMForm();
181
184
  // break;
@@ -191,10 +194,10 @@ export class ProcessorDetailsFormComponent {
191
194
  setupProcessorDetailsForm() {
192
195
  var _a, _b;
193
196
  this.ProcessorType = ((_b = (_a = this.EditingApplication) === null || _a === void 0 ? void 0 : _a.Processor) === null || _b === void 0 ? void 0 : _b.Type) || '';
194
- console.log("EDITING APP = ", this.EditingApplication);
197
+ console.log('EDITING APP = ', this.EditingApplication);
195
198
  if (this.EditingApplication != null) {
196
199
  this.ProcessorDetailsFormGroup = this.formBldr.group({
197
- procType: [this.ProcessorType, [Validators.required]]
200
+ procType: [this.ProcessorType, [Validators.required]],
198
201
  });
199
202
  this.setupDfsForm();
200
203
  this.setupLcuTypeSubForm();
@@ -239,6 +242,10 @@ export class ProcessorDetailsFormComponent {
239
242
  this.ProcessorDetailsFormGroup.addControl('clientId', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.ClientID) || '', [Validators.required]));
240
243
  this.ProcessorDetailsFormGroup.addControl('clientSecret', this.formBldr.control(((_b = this.EditingApplication.LowCodeUnit) === null || _b === void 0 ? void 0 : _b.ClientSecret) || '', [Validators.required]));
241
244
  }
245
+ setupLCUWordPressForm() {
246
+ var _a;
247
+ this.ProcessorDetailsFormGroup.addControl('apiRoot', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.APIRoot) || '', [Validators.required]));
248
+ }
242
249
  setupProxyForm() {
243
250
  var _a, _b;
244
251
  this.LCUType = ((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.Type) || '';
@@ -296,7 +303,7 @@ export class ProcessorDetailsFormComponent {
296
303
  ProcessorDetailsFormComponent.decorators = [
297
304
  { type: Component, args: [{
298
305
  selector: 'lcu-processor-details-form',
299
- template: "<form class=\"processor-details-form\" [formGroup]=\"ProcessorDetailsFormGroup\" (ngSubmit)=\"SubmitProcessorDetails()\">\n<mat-card class=\"spread flow-card\">\n <mat-card-header>\n <mat-card-title> Processor Details </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"procType\"\n (selectionChange)=\"ProcessorTypeChanged($event)\"\n required\n >\n <mat-option value=\"DFS\">View Package</mat-option>\n\n <mat-option value=\"Redirect\">Redirect</mat-option>\n\n <mat-option value=\"Proxy\">Proxy</mat-option>\n\n <mat-option value=\"OAuth\">OAuth</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"ProcessorType\">\n <div *ngSwitchCase=\"'DFS'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Default File\"\n formControlName=\"defaultFile\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"NPM\">NPM</mat-option>\n\n <mat-option value=\"GitHub\">GitHub</mat-option>\n\n <!-- <mat-option value=\"Zip\">Zip</mat-option> -->\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHub'\">\n <lcu-source-control-form-controls\n [build-path]=\"EditingApplication?.LowCodeUnit?.Path\"\n [form-group]=\"ProcessorDetailsFormGroup\"\n [source-control]=\"DefaultSourceControl\"\n [use-branches]=\"false\"\n [use-build-path]=\"true\"\n ></lcu-source-control-form-controls>\n\n <mat-form-field\n class=\"mat-full-width\"\n *ngIf=\"\n SourceControlFormControls?.RepositoryFormControl?.valid\n \"\n >\n <input\n matInput\n placeholder=\"Build\"\n formControlName=\"build\"\n required\n />\n\n <mat-hint>\n Current Build:\n {{ EditingApplication?.LowCodeUnit?.CurrentBuild }}\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'NPM'\">\n <lcu-npm-package-select\n [npm-package]=\"EditingApplication?.LowCodeUnit?.Package\"\n [npm-package-version]=\"\n EditingApplication?.LowCodeUnit?.Version\n \"\n [form-group]=\"ProcessorDetailsFormGroup\"\n ></lcu-npm-package-select>\n\n <mat-hint>\n Current Version:\n {{ EditingApplication?.LowCodeUnit?.CurrentVersion }}\n </mat-hint>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'OAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Scopes (space separated)\"\n formControlName=\"scopes\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Token Lookup\"\n formControlName=\"tokenLookup\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"GitHubOAuth\">GitHub</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHubOAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client ID\"\n formControlName=\"clientId\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client Secret\"\n formControlName=\"clientSecret\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Proxy'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Inbound Path\"\n formControlName=\"inboundPath\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"API\">API</mat-option>\n\n <mat-option value=\"SPA\">Single Page Application</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'API'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"API Root\"\n formControlName=\"apiRoot\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Allowed Methods (separate with spaces)\"\n formControlName=\"methods\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Security ({header}~{value})\"\n formControlName=\"security\"\n required\n />\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'SPA'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"SPA Root\"\n formControlName=\"spaRoot\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Redirect'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Redirect URL\"\n formControlName=\"redirect\"\n required\n />\n </mat-form-field>\n\n <div>\n <mat-slide-toggle \n class=\"spread\" \n formControlName=\"permanent\">\n Is Permanent?\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"spread\"\n formControlName=\"preserveMethod\"\n >\n Preserve Method?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n (mouseenter)=\"DetermineTooltipText()\"\n matTooltip={{redirectTooltip}}\n >\n info_outline\n </mat-icon>\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && !IsPreserve\"\n\n class=\"spread\"\n matSuffix\n matTooltip=\"302 \u2013 Not Permanent and Not Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"307 \u2013 Not Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"308 \u2013 Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n \n\n <!-- <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Values used to control the redirect type. Permanent and Not Preserve = 301; Not Permanent and Not Preserve = 302; Permanent and Preserve = 308; Not Permanent and Not Preserve = 307;\"\n >\n info_outline\n </mat-icon> -->\n </div>\n \n <div>\n <mat-slide-toggle \n class=\"spread\" \n formControlName=\"includeRequest\">\n Include Path and Query?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Should the redirect include the path and query?\"\n >\n info_outline\n </mat-icon>\n </div>\n </div>\n </div>\n </mat-card-content>\n <mat-card-actions fxLayoutAlign=\"center center\">\n\n <button \n mat-raised-button \n type=\"submit\" \n fxFlex=\"100%\" \n color=\"primary\" \n [disabled]=\"!ProcessorDetailsFormGroup.valid || !ProcessorDetailsFormGroup.dirty\">\n <mat-icon>save</mat-icon>\n Save Processor Details\n </button>\n\n </mat-card-actions>\n</mat-card>\n</form>\n \n",
306
+ template: "<form class=\"processor-details-form\" [formGroup]=\"ProcessorDetailsFormGroup\" (ngSubmit)=\"SubmitProcessorDetails()\">\n<mat-card class=\"spread flow-card\">\n <mat-card-header>\n <mat-card-title> Processor Details </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"procType\"\n (selectionChange)=\"ProcessorTypeChanged($event)\"\n required\n >\n <mat-option value=\"DFS\">View Package</mat-option>\n\n <mat-option value=\"Redirect\">Redirect</mat-option>\n\n <mat-option value=\"Proxy\">Proxy</mat-option>\n\n <mat-option value=\"OAuth\">OAuth</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"ProcessorType\">\n <div *ngSwitchCase=\"'DFS'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Default File\"\n formControlName=\"defaultFile\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"NPM\">NPM</mat-option>\n\n <mat-option value=\"GitHub\">GitHub</mat-option>\n\n <mat-option value=\"WordPress\">WordPress</mat-option>\n\n <!-- <mat-option value=\"Zip\">Zip</mat-option> -->\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHub'\">\n <lcu-source-control-form-controls\n [build-path]=\"EditingApplication?.LowCodeUnit?.Path\"\n [form-group]=\"ProcessorDetailsFormGroup\"\n [source-control]=\"DefaultSourceControl\"\n [use-branches]=\"false\"\n [use-build-path]=\"true\"\n ></lcu-source-control-form-controls>\n\n <mat-form-field\n class=\"mat-full-width\"\n *ngIf=\"\n SourceControlFormControls?.RepositoryFormControl?.valid\n \"\n >\n <input\n matInput\n placeholder=\"Build\"\n formControlName=\"build\"\n required\n />\n\n <mat-hint>\n Current Build:\n {{ EditingApplication?.LowCodeUnit?.CurrentBuild }}\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'NPM'\">\n <lcu-npm-package-select\n [npm-package]=\"EditingApplication?.LowCodeUnit?.Package\"\n [npm-package-version]=\"\n EditingApplication?.LowCodeUnit?.Version\n \"\n [form-group]=\"ProcessorDetailsFormGroup\"\n ></lcu-npm-package-select>\n\n <mat-hint>\n Current Version:\n {{ EditingApplication?.LowCodeUnit?.CurrentVersion }}\n </mat-hint>\n </div>\n\n <div *ngSwitchCase=\"'WordPress'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"API Root\"\n formControlName=\"apiRoot\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'OAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Scopes (space separated)\"\n formControlName=\"scopes\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Token Lookup\"\n formControlName=\"tokenLookup\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"GitHubOAuth\">GitHub</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHubOAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client ID\"\n formControlName=\"clientId\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client Secret\"\n formControlName=\"clientSecret\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Proxy'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Inbound Path\"\n formControlName=\"inboundPath\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"API\">API</mat-option>\n\n <mat-option value=\"SPA\">Single Page Application</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'API'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"API Root\"\n formControlName=\"apiRoot\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Allowed Methods (separate with spaces)\"\n formControlName=\"methods\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Security ({header}~{value})\"\n formControlName=\"security\"\n required\n />\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'SPA'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"SPA Root\"\n formControlName=\"spaRoot\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Redirect'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Redirect URL\"\n formControlName=\"redirect\"\n required\n />\n </mat-form-field>\n\n <div>\n <mat-slide-toggle \n class=\"spread\" \n formControlName=\"permanent\">\n Is Permanent?\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"spread\"\n formControlName=\"preserveMethod\"\n >\n Preserve Method?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n (mouseenter)=\"DetermineTooltipText()\"\n matTooltip={{redirectTooltip}}\n >\n info_outline\n </mat-icon>\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && !IsPreserve\"\n\n class=\"spread\"\n matSuffix\n matTooltip=\"302 \u2013 Not Permanent and Not Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"307 \u2013 Not Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"308 \u2013 Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n \n\n <!-- <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Values used to control the redirect type. Permanent and Not Preserve = 301; Not Permanent and Not Preserve = 302; Permanent and Preserve = 308; Not Permanent and Not Preserve = 307;\"\n >\n info_outline\n </mat-icon> -->\n </div>\n \n <div>\n <mat-slide-toggle \n class=\"spread\" \n formControlName=\"includeRequest\">\n Include Path and Query?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Should the redirect include the path and query?\"\n >\n info_outline\n </mat-icon>\n </div>\n </div>\n </div>\n </mat-card-content>\n <mat-card-actions fxLayoutAlign=\"center center\">\n\n <button \n mat-raised-button \n type=\"submit\" \n fxFlex=\"100%\" \n color=\"primary\" \n [disabled]=\"!ProcessorDetailsFormGroup.valid || !ProcessorDetailsFormGroup.dirty\">\n <mat-icon>save</mat-icon>\n Save Processor Details\n </button>\n\n </mat-card-actions>\n</mat-card>\n</form>\n \n",
300
307
  styles: [""]
301
308
  },] }
302
309
  ];
@@ -311,4 +318,4 @@ ProcessorDetailsFormComponent.propDecorators = {
311
318
  SaveFormEvent: [{ type: Output, args: ['save-form-event',] }],
312
319
  SourceControlFormControls: [{ type: ViewChild, args: [SourceControlFormControlsComponent,] }]
313
320
  };
314
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzc29yLWRldGFpbHMtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvYXBwbGljYXRpb25zLWZsb3cvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250cm9scy9wcm9jZXNzb3ItZGV0YWlscy1mb3JtL3Byb2Nlc3Nvci1kZXRhaWxzLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBbUIsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7QUFDcEksT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBT3hELE1BQU0sT0FBTyw2QkFBNkI7SUFnSHhDLFlBQXNCLFFBQXFCLEVBQy9CLE1BQWtCO1FBRFIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUMvQixXQUFNLEdBQU4sTUFBTSxDQUFZO1FBRTVCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBRTFCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxZQUFZLENBQUM7SUFFdkMsQ0FBQztJQXBHRixJQUFXLGtCQUFrQjs7UUFDM0IsYUFBTyxJQUFJLENBQUMseUJBQXlCLDBDQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQVcsZ0JBQWdCOztRQUN6QixhQUFPLElBQUksQ0FBQyx5QkFBeUIsMENBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7O1FBQzVCLGFBQU8sSUFBSSxDQUFDLHlCQUF5QiwwQ0FBRSxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFXLHVCQUF1Qjs7UUFDaEMsYUFBTyxJQUFJLENBQUMseUJBQXlCLDBDQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQVcsc0JBQXNCOztRQUMvQixhQUFPLElBQUksQ0FBQyx5QkFBeUIsMENBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBVyxvQkFBb0I7O1FBQzdCLE9BQU87WUFDTCxZQUFZLGNBQUUsSUFBSSxDQUFDLGtCQUFrQiwwQ0FBRSxXQUFXLDBDQUFFLFlBQVk7WUFDaEUsVUFBVSxjQUFFLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsV0FBVywwQ0FBRSxVQUFVO1NBQzdELENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxzQkFBc0I7O1FBQy9CLGFBQU8sSUFBSSxDQUFDLHlCQUF5QiwwQ0FBRSxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFXLHlCQUF5Qjs7UUFDbEMsYUFBTyxJQUFJLENBQUMseUJBQXlCLDBDQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUM7SUFDakUsQ0FBQztJQUVELElBQVcsa0JBQWtCOztRQUMzQixhQUFPLElBQUksQ0FBQyx5QkFBeUIsMENBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBVyxrQkFBa0I7O1FBQzNCLGFBQU8sSUFBSSxDQUFDLHlCQUF5QiwwQ0FBRSxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFXLG9CQUFvQjs7UUFDN0IsYUFBTyxJQUFJLENBQUMseUJBQXlCLDBDQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQVcseUJBQXlCOztRQUNsQyxhQUFPLElBQUksQ0FBQyx5QkFBeUIsMENBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7O1FBQzVCLGFBQU8sSUFBSSxDQUFDLHlCQUF5QiwwQ0FBRSxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFXLGlCQUFpQjs7UUFDMUIsYUFBTyxJQUFJLENBQUMseUJBQXlCLDBDQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDekQsQ0FBQztJQUVELElBQVcsbUJBQW1COztRQUM1QixhQUFPLElBQUksQ0FBQyx5QkFBeUIsMENBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBVyxrQkFBa0I7O1FBQzNCLGFBQU8sSUFBSSxDQUFDLHlCQUF5QiwwQ0FBRSxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFXLHNCQUFzQjs7UUFDL0IsYUFBTyxJQUFJLENBQUMseUJBQXlCLDBDQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDOUQsQ0FBQztJQUdELElBQVcsa0JBQWtCOztRQUMzQixhQUFPLElBQUksQ0FBQyx5QkFBeUIsMENBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBVyxrQkFBa0I7O1FBQzNCLGFBQU8sSUFBSSxDQUFDLHlCQUF5QiwwQ0FBRSxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzFELENBQUM7SUF3Qk0sUUFBUTtRQUViLElBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUM7WUFDMUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDN0I7YUFDRztZQUNGLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1NBQ2xDO0lBRUgsQ0FBQztJQUVNLG9CQUFvQjtRQUN6QixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLG9CQUFvQjtRQUN6QixJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDO1FBQ3JELElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUM7UUFFekQsSUFBSSxjQUFjLEtBQUssSUFBSSxJQUFJLGFBQWEsS0FBSyxLQUFLLEVBQUU7WUFDdEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxrQ0FBa0MsQ0FBQztTQUMzRDthQUFNLElBQUksY0FBYyxLQUFLLEtBQUssSUFBSSxhQUFhLEtBQUssS0FBSyxFQUFFO1lBQzlELElBQUksQ0FBQyxlQUFlLEdBQUcsc0NBQXNDLENBQUM7U0FDL0Q7YUFBTSxJQUFJLGNBQWMsS0FBSyxLQUFLLElBQUksYUFBYSxLQUFLLElBQUksRUFBRTtZQUM3RCxJQUFJLENBQUMsZUFBZSxHQUFHLGtDQUFrQyxDQUFDO1NBQzNEO2FBQU0sSUFBSSxjQUFjLEtBQUssSUFBSSxJQUFJLGFBQWEsS0FBSyxJQUFJLEVBQUU7WUFDNUQsSUFBSSxDQUFDLGVBQWUsR0FBRyw4QkFBOEIsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxTQUFpQjtRQUM1QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsU0FBUyxDQUFDO1FBRTFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxLQUFzQjtRQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFFakMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFzQjtRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFFM0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFNBQVM7SUFFQyxxQkFBcUI7UUFDN0IsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV4RCxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdEQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTdELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVTLDJCQUEyQjtRQUNuQyxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTVELHlEQUF5RDtRQUV6RCwyREFBMkQ7UUFDM0QsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTVELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU3RCxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUUvRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRVMsbUJBQW1CO1FBQzNCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRTdCLHNEQUFzRDtRQUN0RCxzREFBc0Q7UUFFdEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLFFBQVEsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDcEIsS0FBSyxLQUFLO29CQUNSLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztvQkFDdkIsTUFBTTtnQkFFUixLQUFLLG9CQUFvQjtvQkFDdkIsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUM7b0JBQ3RDLE1BQU07Z0JBRVIsS0FBSyxRQUFRO29CQUNYLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO29CQUMxQixNQUFNO2dCQUVSLEtBQUssYUFBYTtvQkFDaEIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7b0JBQy9CLE1BQU07Z0JBRVIsY0FBYztnQkFDZCw0QkFBNEI7Z0JBQzVCLFdBQVc7Z0JBRVgsS0FBSyxLQUFLO29CQUNSLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztvQkFDdkIsTUFBTTtnQkFFUixLQUFLLEtBQUs7b0JBQ1IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUN2QixNQUFNO2FBQ1Q7U0FDRjtJQUNILENBQUM7SUFFUyx5QkFBeUI7O1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLFNBQVMsMENBQUUsSUFBSSxLQUFJLEVBQUUsQ0FBQztRQUVwRSxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXZELElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksRUFBRTtZQUNuQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBRW5ELFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7YUFFdEQsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBRXBCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBRTVCO0lBQ0gsQ0FBQztJQUVTLGtCQUFrQjs7UUFDMUIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FDdkMsT0FBTyxFQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUNuQixPQUFBLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLDBDQUFFLEtBQUssS0FBSSxRQUFRLEVBQ3RELENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUNGLENBQUM7SUFDSixDQUFDO0lBRVMsOEJBQThCOztRQUN0QyxJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUN2QyxlQUFlLEVBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ25CLE9BQUEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsMENBQUUsYUFBYSxLQUFJLEVBQUUsRUFDeEQsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQ3RCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxzQ0FBc0M7SUFDcEMsd0NBQXdDO0lBQ3hDLGVBQWU7SUFDZiwyQkFBMkI7SUFDM0IsMERBQTBEO0lBQzFELDRCQUE0QjtJQUM1QixNQUFNO0lBQ04sS0FBSztJQUNMLHdDQUF3QztJQUN4QyxlQUFlO0lBQ2YsMkJBQTJCO0lBQzNCLDBEQUEwRDtJQUMxRCw0QkFBNEI7SUFDNUIsTUFBTTtJQUNOLEtBQUs7SUFDUCxJQUFJO0lBRU0sZUFBZTs7UUFDdkIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FDdkMsU0FBUyxFQUNULElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUNuQixPQUFBLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLDBDQUFFLE9BQU8sS0FBSSxFQUFFLEVBQ2xELENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUNGLENBQUM7SUFDSixDQUFDO0lBRVMsZUFBZTs7UUFDdkIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FDdkMsU0FBUyxFQUNULElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUNuQixhQUFBLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLDBDQUFFLGNBQWMsMENBQUUsSUFBSSxDQUFDLEdBQUcsTUFBSyxFQUFFLEVBQ3JFLEVBQUUsQ0FDSCxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUN2QyxTQUFTLEVBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ25CLE9BQUEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsMENBQUUsT0FBTyxLQUFJLEVBQUUsRUFDbEQsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQ3RCLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQ3ZDLFVBQVUsRUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FDbkIsT0FBQSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVywwQ0FBRSxRQUFRLEtBQUksRUFBRSxFQUNuRCxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVTLHVCQUF1Qjs7UUFDL0IsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FDdkMsVUFBVSxFQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUNuQixPQUFBLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLDBDQUFFLFFBQVEsS0FBSSxFQUFFLEVBQ25ELENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUNGLENBQUM7UUFFRixJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUN2QyxjQUFjLEVBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ25CLE9BQUEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsMENBQUUsWUFBWSxLQUFJLEVBQUUsRUFDdkQsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQ3RCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFUyxjQUFjOztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQUEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsMENBQUUsSUFBSSxLQUFJLEVBQUUsQ0FBQztRQUUvRCxJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUN2QyxhQUFhLEVBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ25CLE9BQUEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsMENBQUUsV0FBVyxLQUFJLEVBQUUsRUFDcEQsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQ3RCLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQ3ZDLFNBQVMsRUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQzNELENBQUM7SUFDSixDQUFDO0lBRVMsaUJBQWlCOztRQUN6QixJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUN2QyxVQUFVLEVBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBQSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUywwQ0FBRSxRQUFRLEtBQUksRUFBRSxFQUFFO1lBQ3ZFLFVBQVUsQ0FBQyxRQUFRO1NBQ3BCLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FDdkMsV0FBVyxFQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUNuQixPQUFBLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLDBDQUFFLFNBQVMsS0FBSSxLQUFLLEVBQ3JELEVBQUUsQ0FDSCxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUN2QyxnQkFBZ0IsRUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ25CLE9BQUEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsMENBQUUsY0FBYyxLQUFJLEtBQUssRUFDMUQsRUFBRSxDQUNILENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQ3ZDLGdCQUFnQixFQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FDbkIsT0FBQSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUywwQ0FBRSxjQUFjLEtBQUksS0FBSyxFQUMxRCxFQUFFLENBQ0gsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVTLGNBQWM7O1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBQSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVywwQ0FBRSxJQUFJLEtBQUksRUFBRSxDQUFDO1FBRS9ELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQ3ZDLFFBQVEsRUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FDbkIsYUFBQSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUywwQ0FBRSxNQUFNLDBDQUFFLElBQUksQ0FBQyxHQUFHLE1BQUssRUFBRSxFQUMxRCxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FDdkMsYUFBYSxFQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUNuQixPQUFBLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLDBDQUFFLFdBQVcsS0FBSSxFQUFFLEVBQ3BELENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUNGLENBQUM7UUFFRixJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUN2QyxTQUFTLEVBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUMzRCxDQUFDO0lBQ0osQ0FBQztJQUVTLGVBQWU7O1FBQ3ZCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQ3ZDLFNBQVMsRUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FDbkIsT0FBQSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVywwQ0FBRSxPQUFPLEtBQUksRUFBRSxFQUNsRCxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVTLFlBQVk7O1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBQSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVywwQ0FBRSxJQUFJLEtBQUksRUFBRSxDQUFDO1FBRS9ELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQ3ZDLGFBQWEsRUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FDbkIsT0FBQSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUywwQ0FBRSxXQUFXLEtBQUksWUFBWSxFQUM5RCxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FDdkMsU0FBUyxFQUNULElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDM0QsQ0FBQztJQUNKLENBQUM7SUFFUyx5QkFBeUI7UUFDakMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFFbkMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLFFBQVEsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDMUIsS0FBSyxLQUFLO29CQUNSLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDcEIsTUFBTTtnQkFFUixLQUFLLE9BQU87b0JBQ1YsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN0QixNQUFNO2dCQUVSLEtBQUssT0FBTztvQkFDVixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3RCLE1BQU07Z0JBRVIsS0FBSyxVQUFVO29CQUNiLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO29CQUN6QixNQUFNO2FBQ1Q7U0FDRjtRQUVELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7OztZQTllRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtnQkFDdEMsNmhVQUFzRDs7YUFFdkQ7OztZQVh5QixXQUFXO1lBSzVCLFVBQVU7OztpQ0FXaEIsS0FBSyxTQUFDLHFCQUFxQjt1Q0FHM0IsS0FBSyxTQUFDLDRCQUE0Qjs0QkFHbEMsS0FBSyxTQUFDLGdCQUFnQjs0QkFHdEIsTUFBTSxTQUFDLGlCQUFpQjt3Q0FHeEIsU0FBUyxTQUFDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEd1aWQgfSBmcm9tICdAbGN1L2NvbW1vbic7XG5pbXBvcnQgeyBFYUNBcHBsaWNhdGlvbkFzQ29kZSwgRWFDU291cmNlQ29udHJvbCB9IGZyb20gJ0BzZW1hbnRpY2pzL2NvbW1vbic7XG5pbXBvcnQgeyBTb3VyY2VDb250cm9sRm9ybUNvbnRyb2xzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvZm9ybXMvc291cmNlLWNvbnRyb2wvc291cmNlLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IEVhQ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lYWMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1wcm9jZXNzb3ItZGV0YWlscy1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2Nlc3Nvci1kZXRhaWxzLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9jZXNzb3ItZGV0YWlscy1mb3JtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUHJvY2Vzc29yRGV0YWlsc0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIFxuXG4gIEBJbnB1dCgnZWRpdGluZy1hcHBsaWNhdGlvbicpIFxuICBwdWJsaWMgRWRpdGluZ0FwcGxpY2F0aW9uOiBFYUNBcHBsaWNhdGlvbkFzQ29kZTtcblxuICBASW5wdXQoJ2VkaXRpbmctYXBwbGljYXRpb24tbG9va3VwJylcbiAgcHVibGljIEVkaXRpbmdBcHBsaWNhdGlvbkxvb2t1cDogc3RyaW5nO1xuXG4gIEBJbnB1dCgncHJvamVjdC1sb29rdXAnKVxuICBwdWJsaWMgUHJvamVjdExvb2t1cDogc3RyaW5nO1xuXG4gIEBPdXRwdXQoJ3NhdmUtZm9ybS1ldmVudCcpXG4gIHB1YmxpYyBTYXZlRm9ybUV2ZW50OiBFdmVudEVtaXR0ZXI8e30+XG5cbiAgQFZpZXdDaGlsZChTb3VyY2VDb250cm9sRm9ybUNvbnRyb2xzQ29tcG9uZW50KVxuICBwdWJsaWMgU291cmNlQ29udHJvbEZvcm1Db250cm9sczogU291cmNlQ29udHJvbEZvcm1Db250cm9sc0NvbXBvbmVudDtcblxuICBwdWJsaWMgZ2V0IEFQSVJvb3RGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLmFwaVJvb3Q7XG4gIH1cblxuICBwdWJsaWMgZ2V0IEJ1aWxkRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy5idWlsZDtcbiAgfVxuICBcbiAgcHVibGljIGdldCBDbGllbnRJREZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuY2xpZW50SWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IENsaWVudFNlY3JldEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuY2xpZW50U2VjcmV0O1xuICB9XG5cbiAgcHVibGljIGdldCBEZWZhdWx0RmlsZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuZGVmYXVsdEZpbGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IERlZmF1bHRTb3VyY2VDb250cm9sKCk6IEVhQ1NvdXJjZUNvbnRyb2wge1xuICAgIHJldHVybiB7XG4gICAgICBPcmdhbml6YXRpb246IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uPy5Mb3dDb2RlVW5pdD8uT3JnYW5pemF0aW9uLFxuICAgICAgUmVwb3NpdG9yeTogdGhpcy5FZGl0aW5nQXBwbGljYXRpb24/Lkxvd0NvZGVVbml0Py5SZXBvc2l0b3J5LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IEluYm91bmRQYXRoRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy5pbmJvdW5kUGF0aDtcbiAgfSAgXG5cbiAgcHVibGljIGdldCBJbmNsdWRlUmVxdWVzdEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuaW5jbHVkZVJlcXVlc3Q7XG4gIH1cblxuICBwdWJsaWMgZ2V0IE1ldGhvZHNGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLm1ldGhvZHM7XG4gIH1cbiBcbiAgcHVibGljIGdldCBQYWNrYWdlRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy5wYWNrYWdlO1xuICB9XG5cbiAgcHVibGljIGdldCBQZXJtYW5lbnRGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnBlcm1hbmVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUHJlc2VydmVNZXRob2RGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnByZXNlcnZlTWV0aG9kO1xuICB9XG5cbiAgcHVibGljIGdldCBSZWRpcmVjdEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMucmVkaXJlY3Q7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFNjb3Blc0Zvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuc2NvcGVzO1xuICB9XG5cbiAgcHVibGljIGdldCBTZWN1cml0eUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuc2VjdXJpdHk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFNQQVJvb3RGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnNwYVJvb3Q7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFRva2VuTG9va3VwRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy50b2tlbkxvb2t1cDtcbiAgfVxuXG5cbiAgcHVibGljIGdldCBWZXJzaW9uRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy52ZXJzaW9uO1xuICB9XG5cbiAgcHVibGljIGdldCBaaXBGaWxlRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy56aXBGaWxlO1xuICB9XG5cblxuICBwdWJsaWMgSXNQZXJtYW5lbnQ6IGJvb2xlYW47XG5cbiAgcHVibGljIElzUHJlc2VydmU6IGJvb2xlYW47XG5cbiAgcHVibGljIExDVVR5cGU6IHN0cmluZztcbiAgXG4gIHB1YmxpYyByZWRpcmVjdFRvb2x0aXA6IHN0cmluZztcblxuICBwdWJsaWMgUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBQcm9jZXNzb3JUeXBlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGZvcm1CbGRyOiBGb3JtQnVpbGRlciwgXG4gICAgcHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSkge1xuXG4gICAgdGhpcy5yZWRpcmVjdFRvb2x0aXAgPSAnJztcblxuICAgIHRoaXMuU2F2ZUZvcm1FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI7XG5cbiAgIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICBpZighdGhpcy5FZGl0aW5nQXBwbGljYXRpb24pe1xuICAgICAgdGhpcy5DcmVhdGVOZXdBcHBsaWNhdGlvbigpO1xuICAgIH1cbiAgICBlbHNle1xuICAgICAgdGhpcy5zZXR1cFByb2Nlc3NvckRldGFpbHNGb3JtKCk7XG4gICAgfVxuXG4gIH1cblxuICBwdWJsaWMgQ3JlYXRlTmV3QXBwbGljYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5TZXRFZGl0aW5nQXBwbGljYXRpb24oR3VpZC5DcmVhdGVSYXcoKSk7XG4gIH1cblxuICBwdWJsaWMgRGV0ZXJtaW5lVG9vbHRpcFRleHQoKSB7XG4gICAgbGV0IHBlcm1hbmVudFZhbHVlID0gdGhpcy5QZXJtYW5lbnRGb3JtQ29udHJvbC52YWx1ZTtcbiAgICBsZXQgcHJlc2VydmVWYWx1ZSA9IHRoaXMuUHJlc2VydmVNZXRob2RGb3JtQ29udHJvbC52YWx1ZTtcblxuICAgIGlmIChwZXJtYW5lbnRWYWx1ZSA9PT0gdHJ1ZSAmJiBwcmVzZXJ2ZVZhbHVlID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5yZWRpcmVjdFRvb2x0aXAgPSAnMzAxIOKAkyBQZXJtYW5lbnQgYW5kIE5vdCBQcmVzZXJ2ZSc7XG4gICAgfSBlbHNlIGlmIChwZXJtYW5lbnRWYWx1ZSA9PT0gZmFsc2UgJiYgcHJlc2VydmVWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMucmVkaXJlY3RUb29sdGlwID0gJzMwMiDigJMgTm90IFBlcm1hbmVudCBhbmQgTm90IFByZXNlcnZlJztcbiAgICB9IGVsc2UgaWYgKHBlcm1hbmVudFZhbHVlID09PSBmYWxzZSAmJiBwcmVzZXJ2ZVZhbHVlID09PSB0cnVlKSB7XG4gICAgICB0aGlzLnJlZGlyZWN0VG9vbHRpcCA9ICczMDcg4oCTIE5vdCBQZXJtYW5lbnQgYW5kIFByZXNlcnZlJztcbiAgICB9IGVsc2UgaWYgKHBlcm1hbmVudFZhbHVlID09PSB0cnVlICYmIHByZXNlcnZlVmFsdWUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMucmVkaXJlY3RUb29sdGlwID0gJzMwOCDigJMgUGVybWFuZW50IGFuZCBQcmVzZXJ2ZSc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIFNldEVkaXRpbmdBcHBsaWNhdGlvbihhcHBMb29rdXA6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uTG9va3VwID0gYXBwTG9va3VwO1xuXG4gICAgdGhpcy5zZXR1cFByb2Nlc3NvckRldGFpbHNGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgU3VibWl0UHJvY2Vzc29yRGV0YWlscygpe1xuICAgIGNvbnNvbGUubG9nKFwic3VibWl0dGluZyBwcm9jIGRldGFpbHM6IFwiLCB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAudmFsdWUpO1xuICAgIHRoaXMuU2F2ZUZvcm1FdmVudC5lbWl0KHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC52YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgUHJvY2Vzc29yVHlwZUNoYW5nZWQoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yVHlwZSA9IGV2ZW50LnZhbHVlO1xuXG4gICAgdGhpcy5zZXR1cFByb2Nlc3NvclR5cGVTdWJGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgTENVVHlwZUNoYW5nZWQoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSk6IHZvaWQge1xuICAgIHRoaXMuTENVVHlwZSA9IGV2ZW50LnZhbHVlO1xuXG4gICAgdGhpcy5zZXR1cExjdVR5cGVTdWJGb3JtKCk7XG4gIH1cblxuICAvL0hFTFBFUlNcblxuICBwcm90ZWN0ZWQgY2xlYW51cExjdVR5cGVTdWJGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdtZXRob2RzJyk7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ2FwaVJvb3QnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnc2VjdXJpdHknKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzcGFSb290Jyk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnYXBwbGljYXRpb25JZCcpO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ2J1aWxkJyk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnY2xpZW50SWQnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnY2xpZW50U2VjcmV0Jyk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnemlwRmlsZScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNsZWFudXBQcm9jZXNzb3JUeXBlU3ViRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnZGVmYXVsdEZpbGUnKTtcblxuICAgIC8vIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnZGZzTGN1VHlwZScpO1xuXG4gICAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdvYXV0aExjdVR5cGUnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnc2NvcGVzJyk7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ3Rva2VuTG9va3VwJyk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnaW5ib3VuZFBhdGgnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgncHJveHlMY3VUeXBlJyk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnaW5jbHVkZVJlcXVlc3QnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgncmVkaXJlY3QnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgncGVybWFuZW50Jyk7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ3ByZXNlcnZlTWV0aG9kJyk7XG5cbiAgICB0aGlzLmNsZWFudXBMY3VUeXBlU3ViRm9ybSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwTGN1VHlwZVN1YkZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhbnVwTGN1VHlwZVN1YkZvcm0oKTtcblxuICAgIC8vIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgncGFja2FnZScpO1xuICAgIC8vIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgndmVyc2lvbicpO1xuXG4gICAgaWYgKHRoaXMuTENVVHlwZSkge1xuICAgICAgc3dpdGNoICh0aGlzLkxDVVR5cGUpIHtcbiAgICAgICAgY2FzZSAnQVBJJzpcbiAgICAgICAgICB0aGlzLnNldHVwTENVQVBJRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ0FwcGxpY2F0aW9uUG9pbnRlcic6XG4gICAgICAgICAgdGhpcy5zZXR1cExDVUFwcGxpY2F0aW9uUG9pbnRlckZvcm0oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdHaXRIdWInOlxuICAgICAgICAgIHRoaXMuc2V0dXBMQ1VHaXRIdWJGb3JtKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnR2l0SHViT0F1dGgnOlxuICAgICAgICAgIHRoaXMuc2V0dXBMQ1VHaXRIdWJPQXV0aEZvcm0oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvLyBjYXNlICdOUE0nOlxuICAgICAgICAvLyAgIHRoaXMuc2V0dXBMQ1VOUE1Gb3JtKCk7XG4gICAgICAgIC8vICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnU1BBJzpcbiAgICAgICAgICB0aGlzLnNldHVwTENVU1BBRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ1ppcCc6XG4gICAgICAgICAgdGhpcy5zZXR1cExDVVppcEZvcm0oKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBQcm9jZXNzb3JEZXRhaWxzRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvclR5cGUgPSB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbj8uUHJvY2Vzc29yPy5UeXBlIHx8ICcnO1xuXG4gICAgY29uc29sZS5sb2coXCJFRElUSU5HIEFQUCA9IFwiLCB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbik7XG5cbiAgICBpZiAodGhpcy5FZGl0aW5nQXBwbGljYXRpb24gIT0gbnVsbCkge1xuICAgICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwID0gdGhpcy5mb3JtQmxkci5ncm91cCh7XG5cbiAgICAgICAgcHJvY1R5cGU6IFt0aGlzLlByb2Nlc3NvclR5cGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV1cblxuICAgICAgfSk7XG4gICAgICB0aGlzLnNldHVwRGZzRm9ybSgpO1xuXG4gICAgICB0aGlzLnNldHVwTGN1VHlwZVN1YkZvcm0oKTtcblxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cExDVUdpdEh1YkZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnYnVpbGQnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uQnVpbGQgfHwgJ2xhdGVzdCcsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBMQ1VBcHBsaWNhdGlvblBvaW50ZXJGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2FwcGxpY2F0aW9uSWQnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uQXBwbGljYXRpb25JRCB8fCAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8vIHByb3RlY3RlZCBzZXR1cExDVU5QTUZvcm0oKTogdm9pZCB7XG4gICAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgIC8vICAgJ3BhY2thZ2UnLFxuICAgIC8vICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgIC8vICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uUGFja2FnZSB8fCAnJyxcbiAgICAvLyAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgLy8gICApXG4gICAgLy8gKTtcbiAgICAvLyB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgLy8gICAndmVyc2lvbicsXG4gICAgLy8gICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgLy8gICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5WZXJzaW9uIHx8ICcnLFxuICAgIC8vICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAvLyAgIClcbiAgICAvLyApO1xuICAvLyB9XG5cbiAgcHJvdGVjdGVkIHNldHVwTENVU1BBRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdzcGFSb290JyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG93Q29kZVVuaXQ/LlNQQVJvb3QgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBMQ1VBUElGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ21ldGhvZHMnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb29rdXBDb25maWc/LkFsbG93ZWRNZXRob2RzPy5qb2luKCcgJykgfHwgJycsXG4gICAgICAgIFtdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2FwaVJvb3QnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uQVBJUm9vdCB8fCAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3NlY3VyaXR5JyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG93Q29kZVVuaXQ/LlNlY3VyaXR5IHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwTENVR2l0SHViT0F1dGhGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2NsaWVudElkJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG93Q29kZVVuaXQ/LkNsaWVudElEIHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnY2xpZW50U2VjcmV0JyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG93Q29kZVVuaXQ/LkNsaWVudFNlY3JldCB8fCAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cFByb3h5Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLkxDVVR5cGUgPSB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uVHlwZSB8fCAnJztcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2luYm91bmRQYXRoJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uUHJvY2Vzc29yPy5JbmJvdW5kUGF0aCB8fCAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2xjdVR5cGUnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKHRoaXMuTENVVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBSZWRpcmVjdEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAncmVkaXJlY3QnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLlByb2Nlc3Nvcj8uUmVkaXJlY3QgfHwgJycsIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgIF0pXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3Blcm1hbmVudCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLlByb2Nlc3Nvcj8uUGVybWFuZW50IHx8IGZhbHNlLFxuICAgICAgICBbXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdwcmVzZXJ2ZU1ldGhvZCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLlByb2Nlc3Nvcj8uUHJlc2VydmVNZXRob2QgfHwgZmFsc2UsXG4gICAgICAgIFtdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2luY2x1ZGVSZXF1ZXN0JyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uUHJvY2Vzc29yPy5JbmNsdWRlUmVxdWVzdCB8fCBmYWxzZSxcbiAgICAgICAgW11cbiAgICAgIClcbiAgICApO1xuICAgIFxuICAgIHRoaXMuRGV0ZXJtaW5lVG9vbHRpcFRleHQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cE9BdXRoRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLkxDVVR5cGUgPSB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uVHlwZSB8fCAnJztcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3Njb3BlcycsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLlByb2Nlc3Nvcj8uU2NvcGVzPy5Kb2luKCcgJykgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICd0b2tlbkxvb2t1cCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLlByb2Nlc3Nvcj8uVG9rZW5Mb29rdXAgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdsY3VUeXBlJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbCh0aGlzLkxDVVR5cGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwTENVWmlwRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICd6aXBGaWxlJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG93Q29kZVVuaXQ/LlppcEZpbGUgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBEZnNGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuTENVVHlwZSA9IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5UeXBlIHx8ICcnO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnZGVmYXVsdEZpbGUnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Qcm9jZXNzb3I/LkRlZmF1bHRGaWxlIHx8ICdpbmRleC5odG1sJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2xjdVR5cGUnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKHRoaXMuTENVVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBQcm9jZXNzb3JUeXBlU3ViRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFudXBQcm9jZXNzb3JUeXBlU3ViRm9ybSgpO1xuXG4gICAgaWYgKHRoaXMuUHJvY2Vzc29yVHlwZSkge1xuICAgICAgc3dpdGNoICh0aGlzLlByb2Nlc3NvclR5cGUpIHtcbiAgICAgICAgY2FzZSAnREZTJzpcbiAgICAgICAgICB0aGlzLnNldHVwRGZzRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ09BdXRoJzpcbiAgICAgICAgICB0aGlzLnNldHVwT0F1dGhGb3JtKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnUHJveHknOlxuICAgICAgICAgIHRoaXMuc2V0dXBQcm94eUZvcm0oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdSZWRpcmVjdCc6XG4gICAgICAgICAgdGhpcy5zZXR1cFJlZGlyZWN0Rm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0dXBMY3VUeXBlU3ViRm9ybSgpO1xuICB9XG5cbiAgXG5cbn1cbiJdfQ==
321
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzc29yLWRldGFpbHMtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvYXBwbGljYXRpb25zLWZsb3cvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250cm9scy9wcm9jZXNzb3ItZGV0YWlscy1mb3JtL3Byb2Nlc3Nvci1kZXRhaWxzLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxXQUFXLEVBRVgsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuQyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQztBQUNwSSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFPeEQsTUFBTSxPQUFPLDZCQUE2QjtJQTJHeEMsWUFBc0IsUUFBcUIsRUFBWSxNQUFrQjtRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUN2RSxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQS9GRCxJQUFXLGtCQUFrQjs7UUFDM0IsYUFBTyxJQUFJLENBQUMseUJBQXlCLDBDQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQVcsZ0JBQWdCOztRQUN6QixhQUFPLElBQUksQ0FBQyx5QkFBeUIsMENBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7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QUksQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQ3ZDLFNBQVMsRUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQzNELENBQUM7SUFDSixDQUFDO0lBRVMseUJBQXlCO1FBQ2pDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBRW5DLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixRQUFRLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQzFCLEtBQUssS0FBSztvQkFDUixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQ3BCLE1BQU07Z0JBRVIsS0FBSyxPQUFPO29CQUNWLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdEIsTUFBTTtnQkFFUixLQUFLLE9BQU87b0JBQ1YsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN0QixNQUFNO2dCQUVSLEtBQUssVUFBVTtvQkFDYixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztvQkFDekIsTUFBTTthQUNUO1NBQ0Y7UUFFRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs7WUFqZkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLHE4VUFBc0Q7O2FBRXZEOzs7WUFkQyxXQUFXO1lBUUosVUFBVTs7O2lDQVFoQixLQUFLLFNBQUMscUJBQXFCO3VDQUczQixLQUFLLFNBQUMsNEJBQTRCOzRCQUdsQyxLQUFLLFNBQUMsZ0JBQWdCOzRCQUd0QixNQUFNLFNBQUMsaUJBQWlCO3dDQUd4QixTQUFTLFNBQUMsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEd1aWQgfSBmcm9tICdAbGN1L2NvbW1vbic7XG5pbXBvcnQgeyBFYUNBcHBsaWNhdGlvbkFzQ29kZSwgRWFDU291cmNlQ29udHJvbCB9IGZyb20gJ0BzZW1hbnRpY2pzL2NvbW1vbic7XG5pbXBvcnQgeyBTb3VyY2VDb250cm9sRm9ybUNvbnRyb2xzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvZm9ybXMvc291cmNlLWNvbnRyb2wvc291cmNlLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IEVhQ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lYWMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1wcm9jZXNzb3ItZGV0YWlscy1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2Nlc3Nvci1kZXRhaWxzLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9jZXNzb3ItZGV0YWlscy1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NvckRldGFpbHNGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCdlZGl0aW5nLWFwcGxpY2F0aW9uJylcbiAgcHVibGljIEVkaXRpbmdBcHBsaWNhdGlvbjogRWFDQXBwbGljYXRpb25Bc0NvZGU7XG5cbiAgQElucHV0KCdlZGl0aW5nLWFwcGxpY2F0aW9uLWxvb2t1cCcpXG4gIHB1YmxpYyBFZGl0aW5nQXBwbGljYXRpb25Mb29rdXA6IHN0cmluZztcblxuICBASW5wdXQoJ3Byb2plY3QtbG9va3VwJylcbiAgcHVibGljIFByb2plY3RMb29rdXA6IHN0cmluZztcblxuICBAT3V0cHV0KCdzYXZlLWZvcm0tZXZlbnQnKVxuICBwdWJsaWMgU2F2ZUZvcm1FdmVudDogRXZlbnRFbWl0dGVyPHt9PjtcblxuICBAVmlld0NoaWxkKFNvdXJjZUNvbnRyb2xGb3JtQ29udHJvbHNDb21wb25lbnQpXG4gIHB1YmxpYyBTb3VyY2VDb250cm9sRm9ybUNvbnRyb2xzOiBTb3VyY2VDb250cm9sRm9ybUNvbnRyb2xzQ29tcG9uZW50O1xuXG4gIHB1YmxpYyBnZXQgQVBJUm9vdEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuYXBpUm9vdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgQnVpbGRGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLmJ1aWxkO1xuICB9XG5cbiAgcHVibGljIGdldCBDbGllbnRJREZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuY2xpZW50SWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IENsaWVudFNlY3JldEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuY2xpZW50U2VjcmV0O1xuICB9XG5cbiAgcHVibGljIGdldCBEZWZhdWx0RmlsZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuZGVmYXVsdEZpbGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IERlZmF1bHRTb3VyY2VDb250cm9sKCk6IEVhQ1NvdXJjZUNvbnRyb2wge1xuICAgIHJldHVybiB7XG4gICAgICBPcmdhbml6YXRpb246IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uPy5Mb3dDb2RlVW5pdD8uT3JnYW5pemF0aW9uLFxuICAgICAgUmVwb3NpdG9yeTogdGhpcy5FZGl0aW5nQXBwbGljYXRpb24/Lkxvd0NvZGVVbml0Py5SZXBvc2l0b3J5LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IEluYm91bmRQYXRoRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy5pbmJvdW5kUGF0aDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgSW5jbHVkZVJlcXVlc3RGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLmluY2x1ZGVSZXF1ZXN0O1xuICB9XG5cbiAgcHVibGljIGdldCBNZXRob2RzRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy5tZXRob2RzO1xuICB9XG5cbiAgcHVibGljIGdldCBQYWNrYWdlRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy5wYWNrYWdlO1xuICB9XG5cbiAgcHVibGljIGdldCBQZXJtYW5lbnRGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnBlcm1hbmVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUHJlc2VydmVNZXRob2RGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnByZXNlcnZlTWV0aG9kO1xuICB9XG5cbiAgcHVibGljIGdldCBSZWRpcmVjdEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMucmVkaXJlY3Q7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFNjb3Blc0Zvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuc2NvcGVzO1xuICB9XG5cbiAgcHVibGljIGdldCBTZWN1cml0eUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuc2VjdXJpdHk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFNQQVJvb3RGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnNwYVJvb3Q7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFRva2VuTG9va3VwRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy50b2tlbkxvb2t1cDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgVmVyc2lvbkZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMudmVyc2lvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgWmlwRmlsZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuemlwRmlsZTtcbiAgfVxuXG4gIHB1YmxpYyBJc1Blcm1hbmVudDogYm9vbGVhbjtcblxuICBwdWJsaWMgSXNQcmVzZXJ2ZTogYm9vbGVhbjtcblxuICBwdWJsaWMgTENVVHlwZTogc3RyaW5nO1xuXG4gIHB1YmxpYyByZWRpcmVjdFRvb2x0aXA6IHN0cmluZztcblxuICBwdWJsaWMgUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBQcm9jZXNzb3JUeXBlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGZvcm1CbGRyOiBGb3JtQnVpbGRlciwgcHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSkge1xuICAgIHRoaXMucmVkaXJlY3RUb29sdGlwID0gJyc7XG5cbiAgICB0aGlzLlNhdmVGb3JtRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbikge1xuICAgICAgdGhpcy5DcmVhdGVOZXdBcHBsaWNhdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldHVwUHJvY2Vzc29yRGV0YWlsc0Zvcm0oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgQ3JlYXRlTmV3QXBwbGljYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5TZXRFZGl0aW5nQXBwbGljYXRpb24oR3VpZC5DcmVhdGVSYXcoKSk7XG4gIH1cblxuICBwdWJsaWMgRGV0ZXJtaW5lVG9vbHRpcFRleHQoKSB7XG4gICAgbGV0IHBlcm1hbmVudFZhbHVlID0gdGhpcy5QZXJtYW5lbnRGb3JtQ29udHJvbC52YWx1ZTtcbiAgICBsZXQgcHJlc2VydmVWYWx1ZSA9IHRoaXMuUHJlc2VydmVNZXRob2RGb3JtQ29udHJvbC52YWx1ZTtcblxuICAgIGlmIChwZXJtYW5lbnRWYWx1ZSA9PT0gdHJ1ZSAmJiBwcmVzZXJ2ZVZhbHVlID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5yZWRpcmVjdFRvb2x0aXAgPSAnMzAxIOKAkyBQZXJtYW5lbnQgYW5kIE5vdCBQcmVzZXJ2ZSc7XG4gICAgfSBlbHNlIGlmIChwZXJtYW5lbnRWYWx1ZSA9PT0gZmFsc2UgJiYgcHJlc2VydmVWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMucmVkaXJlY3RUb29sdGlwID0gJzMwMiDigJMgTm90IFBlcm1hbmVudCBhbmQgTm90IFByZXNlcnZlJztcbiAgICB9IGVsc2UgaWYgKHBlcm1hbmVudFZhbHVlID09PSBmYWxzZSAmJiBwcmVzZXJ2ZVZhbHVlID09PSB0cnVlKSB7XG4gICAgICB0aGlzLnJlZGlyZWN0VG9vbHRpcCA9ICczMDcg4oCTIE5vdCBQZXJtYW5lbnQgYW5kIFByZXNlcnZlJztcbiAgICB9IGVsc2UgaWYgKHBlcm1hbmVudFZhbHVlID09PSB0cnVlICYmIHByZXNlcnZlVmFsdWUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMucmVkaXJlY3RUb29sdGlwID0gJzMwOCDigJMgUGVybWFuZW50IGFuZCBQcmVzZXJ2ZSc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIFNldEVkaXRpbmdBcHBsaWNhdGlvbihhcHBMb29rdXA6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uTG9va3VwID0gYXBwTG9va3VwO1xuXG4gICAgdGhpcy5zZXR1cFByb2Nlc3NvckRldGFpbHNGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgU3VibWl0UHJvY2Vzc29yRGV0YWlscygpIHtcbiAgICBjb25zb2xlLmxvZyhcbiAgICAgICdzdWJtaXR0aW5nIHByb2MgZGV0YWlsczogJyxcbiAgICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC52YWx1ZVxuICAgICk7XG4gICAgdGhpcy5TYXZlRm9ybUV2ZW50LmVtaXQodGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBQcm9jZXNzb3JUeXBlQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JUeXBlID0gZXZlbnQudmFsdWU7XG5cbiAgICB0aGlzLnNldHVwUHJvY2Vzc29yVHlwZVN1YkZvcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBMQ1VUeXBlQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5MQ1VUeXBlID0gZXZlbnQudmFsdWU7XG5cbiAgICB0aGlzLnNldHVwTGN1VHlwZVN1YkZvcm0oKTtcbiAgfVxuXG4gIC8vSEVMUEVSU1xuXG4gIHByb3RlY3RlZCBjbGVhbnVwTGN1VHlwZVN1YkZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ21ldGhvZHMnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnYXBpUm9vdCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzZWN1cml0eScpO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ3NwYVJvb3QnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdhcHBsaWNhdGlvbklkJyk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnYnVpbGQnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdjbGllbnRJZCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdjbGllbnRTZWNyZXQnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCd6aXBGaWxlJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xlYW51cFByb2Nlc3NvclR5cGVTdWJGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdkZWZhdWx0RmlsZScpO1xuXG4gICAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdkZnNMY3VUeXBlJyk7XG5cbiAgICAvLyB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ29hdXRoTGN1VHlwZScpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzY29wZXMnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgndG9rZW5Mb29rdXAnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdpbmJvdW5kUGF0aCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdwcm94eUxjdVR5cGUnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdpbmNsdWRlUmVxdWVzdCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdyZWRpcmVjdCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdwZXJtYW5lbnQnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgncHJlc2VydmVNZXRob2QnKTtcblxuICAgIHRoaXMuY2xlYW51cExjdVR5cGVTdWJGb3JtKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBMY3VUeXBlU3ViRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFudXBMY3VUeXBlU3ViRm9ybSgpO1xuXG4gICAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdwYWNrYWdlJyk7XG4gICAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCd2ZXJzaW9uJyk7XG5cbiAgICBpZiAodGhpcy5MQ1VUeXBlKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuTENVVHlwZSkge1xuICAgICAgICBjYXNlICdBUEknOlxuICAgICAgICAgIHRoaXMuc2V0dXBMQ1VBUElGb3JtKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnQXBwbGljYXRpb25Qb2ludGVyJzpcbiAgICAgICAgICB0aGlzLnNldHVwTENVQXBwbGljYXRpb25Qb2ludGVyRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ0dpdEh1Yic6XG4gICAgICAgICAgdGhpcy5zZXR1cExDVUdpdEh1YkZvcm0oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdHaXRIdWJPQXV0aCc6XG4gICAgICAgICAgdGhpcy5zZXR1cExDVUdpdEh1Yk9BdXRoRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ1dvcmRQcmVzcyc6XG4gICAgICAgICAgdGhpcy5zZXR1cExDVVdvcmRQcmVzc0Zvcm0oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvLyBjYXNlICdOUE0nOlxuICAgICAgICAvLyAgIHRoaXMuc2V0dXBMQ1VOUE1Gb3JtKCk7XG4gICAgICAgIC8vICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnU1BBJzpcbiAgICAgICAgICB0aGlzLnNldHVwTENVU1BBRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ1ppcCc6XG4gICAgICAgICAgdGhpcy5zZXR1cExDVVppcEZvcm0oKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBQcm9jZXNzb3JEZXRhaWxzRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvclR5cGUgPSB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbj8uUHJvY2Vzc29yPy5UeXBlIHx8ICcnO1xuXG4gICAgY29uc29sZS5sb2coJ0VESVRJTkcgQVBQID0gJywgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24pO1xuXG4gICAgaWYgKHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uICE9IG51bGwpIHtcbiAgICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cCA9IHRoaXMuZm9ybUJsZHIuZ3JvdXAoe1xuICAgICAgICBwcm9jVHlwZTogW3RoaXMuUHJvY2Vzc29yVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5zZXR1cERmc0Zvcm0oKTtcblxuICAgICAgdGhpcy5zZXR1cExjdVR5cGVTdWJGb3JtKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwTENVR2l0SHViRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdidWlsZCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5CdWlsZCB8fCAnbGF0ZXN0JyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cExDVUFwcGxpY2F0aW9uUG9pbnRlckZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnYXBwbGljYXRpb25JZCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5BcHBsaWNhdGlvbklEIHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLy8gcHJvdGVjdGVkIHNldHVwTENVTlBNRm9ybSgpOiB2b2lkIHtcbiAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAvLyAgICdwYWNrYWdlJyxcbiAgLy8gICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gIC8vICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uUGFja2FnZSB8fCAnJyxcbiAgLy8gICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAvLyAgIClcbiAgLy8gKTtcbiAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAvLyAgICd2ZXJzaW9uJyxcbiAgLy8gICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gIC8vICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uVmVyc2lvbiB8fCAnJyxcbiAgLy8gICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAvLyAgIClcbiAgLy8gKTtcbiAgLy8gfVxuXG4gIHByb3RlY3RlZCBzZXR1cExDVVNQQUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnc3BhUm9vdCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5TUEFSb290IHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwTENVQVBJRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdtZXRob2RzJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG9va3VwQ29uZmlnPy5BbGxvd2VkTWV0aG9kcz8uam9pbignICcpIHx8ICcnLFxuICAgICAgICBbXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdhcGlSb290JyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG93Q29kZVVuaXQ/LkFQSVJvb3QgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdzZWN1cml0eScsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5TZWN1cml0eSB8fCAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cExDVUdpdEh1Yk9BdXRoRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdjbGllbnRJZCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5DbGllbnRJRCB8fCAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2NsaWVudFNlY3JldCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5DbGllbnRTZWNyZXQgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBMQ1VXb3JkUHJlc3NGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2FwaVJvb3QnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uQVBJUm9vdCB8fCAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cFByb3h5Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLkxDVVR5cGUgPSB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uVHlwZSB8fCAnJztcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2luYm91bmRQYXRoJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uUHJvY2Vzc29yPy5JbmJvdW5kUGF0aCB8fCAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2xjdVR5cGUnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKHRoaXMuTENVVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBSZWRpcmVjdEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAncmVkaXJlY3QnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLlByb2Nlc3Nvcj8uUmVkaXJlY3QgfHwgJycsIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgIF0pXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3Blcm1hbmVudCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLlByb2Nlc3Nvcj8uUGVybWFuZW50IHx8IGZhbHNlLFxuICAgICAgICBbXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdwcmVzZXJ2ZU1ldGhvZCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLlByb2Nlc3Nvcj8uUHJlc2VydmVNZXRob2QgfHwgZmFsc2UsXG4gICAgICAgIFtdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2luY2x1ZGVSZXF1ZXN0JyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uUHJvY2Vzc29yPy5JbmNsdWRlUmVxdWVzdCB8fCBmYWxzZSxcbiAgICAgICAgW11cbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5EZXRlcm1pbmVUb29sdGlwVGV4dCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwT0F1dGhGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuTENVVHlwZSA9IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5UeXBlIHx8ICcnO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnc2NvcGVzJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uUHJvY2Vzc29yPy5TY29wZXM/LkpvaW4oJyAnKSB8fCAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3Rva2VuTG9va3VwJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uUHJvY2Vzc29yPy5Ub2tlbkxvb2t1cCB8fCAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2xjdVR5cGUnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKHRoaXMuTENVVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBMQ1VaaXBGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3ppcEZpbGUnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uWmlwRmlsZSB8fCAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cERmc0Zvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5MQ1VUeXBlID0gdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG93Q29kZVVuaXQ/LlR5cGUgfHwgJyc7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdkZWZhdWx0RmlsZScsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLlByb2Nlc3Nvcj8uRGVmYXVsdEZpbGUgfHwgJ2luZGV4Lmh0bWwnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnbGN1VHlwZScsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2wodGhpcy5MQ1VUeXBlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cFByb2Nlc3NvclR5cGVTdWJGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYW51cFByb2Nlc3NvclR5cGVTdWJGb3JtKCk7XG5cbiAgICBpZiAodGhpcy5Qcm9jZXNzb3JUeXBlKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuUHJvY2Vzc29yVHlwZSkge1xuICAgICAgICBjYXNlICdERlMnOlxuICAgICAgICAgIHRoaXMuc2V0dXBEZnNGb3JtKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnT0F1dGgnOlxuICAgICAgICAgIHRoaXMuc2V0dXBPQXV0aEZvcm0oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdQcm94eSc6XG4gICAgICAgICAgdGhpcy5zZXR1cFByb3h5Rm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ1JlZGlyZWN0JzpcbiAgICAgICAgICB0aGlzLnNldHVwUmVkaXJlY3RGb3JtKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zZXR1cExjdVR5cGVTdWJGb3JtKCk7XG4gIH1cbn1cbiJdfQ==
@@ -124,7 +124,7 @@ export class ApplicationsFlowService {
124
124
  });
125
125
  }
126
126
  UserFeed() {
127
- return this.http.post(`${this.apiRoot}/api/lowcodeunit/userfeed`, {}, {
127
+ return this.http.get(`${this.apiRoot}/api/lowcodeunit/userfeed`, {
128
128
  headers: this.loadHeaders(),
129
129
  });
130
130
  }
@@ -143,4 +143,4 @@ ApplicationsFlowService.ctorParameters = () => [
143
143
  { type: HttpClient },
144
144
  { type: LCUServiceSettings }
145
145
  ];
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25zLWZsb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9hcHBsaWNhdGlvbnMtZmxvdy9hcHBsaWNhdGlvbnMtZmxvdy9wcm9qZWN0cy9jb21tb24vc3JjLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2FwcGxpY2F0aW9ucy1mbG93LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBVWpELE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsY0FBYztJQUVkLGVBQWU7SUFDZixZQUNZLElBQWdCLEVBQ2hCLFFBQTRCO1FBRDVCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFFdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjO0lBQ1AscUJBQXFCLENBQUMsWUFBb0I7UUFDL0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsR0FBRyxJQUFJLENBQUMsT0FBTywwQ0FBMEMsWUFBWSxZQUFZLEVBQ2pGLEVBQUUsRUFDRjtZQUNFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQzVCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxnQkFBZ0IsQ0FDckIsWUFBb0IsRUFDcEIsUUFBZ0I7UUFFaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsR0FBRyxJQUFJLENBQUMsT0FBTyx5Q0FBeUMsWUFBWSxlQUFlLEVBQ25GO1lBQ0UsSUFBSSxFQUFFLFFBQVE7U0FDZixFQUNEO1lBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFX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bW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExDVVNlcnZpY2VTZXR0aW5ncyB9IGZyb20gJ0BsY3UvY29tbW9uJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFbnRlcnByaXNlQXNDb2RlIH0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBVbnBhY2tMb3dDb2RlVW5pdFJlcXVlc3QsXHJcbn0gZnJvbSAnLi4vc3RhdGUvYXBwbGljYXRpb25zLWZsb3cuc3RhdGUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlIHtcclxuICAvLyAgRmllbGRzXHJcbiAgcHJvdGVjdGVkIGFwaVJvb3Q6IHN0cmluZztcclxuXHJcbiAgLy8gIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gQ29uc3RydWN0b3JzXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByb3RlY3RlZCBzZXR0aW5nczogTENVU2VydmljZVNldHRpbmdzXHJcbiAgKSB7XHJcbiAgICB0aGlzLmFwaVJvb3QgPSBzZXR0aW5ncy5BUElSb290O1xyXG4gIH1cclxuXHJcbiAgLy8gQVBJIE1ldGhvZHNcclxuICBwdWJsaWMgQ29uZmlndXJlRGV2T3BzQWN0aW9uKGFjdGlvbkxvb2t1cDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvbWFuYWdlL2Rldm9wcy9hY3Rpb25zLyR7YWN0aW9uTG9va3VwfS9jb25maWd1cmVgLFxyXG4gICAgICB7fSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBDcmVhdGVSZXBvc2l0b3J5KFxyXG4gICAgb3JnYW5pemF0aW9uOiBzdHJpbmcsXHJcbiAgICByZXBvTmFtZTogc3RyaW5nXHJcbiAgKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvZ2l0aHViL29yZ2FuaXphdGlvbnMvJHtvcmdhbml6YXRpb259L3JlcG9zaXRvcmllc2AsXHJcbiAgICAgIHtcclxuICAgICAgICBOYW1lOiByZXBvTmFtZSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBEZWxldGVBcHBsaWNhdGlvbihhcHBMb29rdXA6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvbWFuYWdlL2FwcGxpY2F0aW9ucy8ke2FwcExvb2t1cH1gLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIERlbGV0ZURldk9wc0FjdGlvbihkb2FMb29rdXA6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvbWFuYWdlL2Rldm9wcy1hY3Rpb25zLyR7ZG9hTG9va3VwfWAsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgRGVsZXRlUHJvamVjdChwcm9qZWN0TG9va3VwOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9wcm9qZWN0cy8ke3Byb2plY3RMb29rdXB9YCxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBEZWxldGVTb3VyY2VDb250cm9sKHNjTG9va3VwOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9zb3VyY2UtY29udHJvbHMvJHtzY0xvb2t1cH1gLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEVuc3VyZVVzZXJFbnRlcnByaXNlKCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9lbnRlcnByaXNlL2Vuc3VyZWAsXHJcbiAgICAgIHt9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEFjdGl2ZUVudGVycHJpc2UoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZW50ZXJwcmlzZXMvYWN0aXZlYCxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBIYXNWYWxpZENvbm5lY3Rpb24oKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9naXRodWIvY29ubmVjdGlvbi92YWxpZGAsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTGlzdFByb2plY3RzKCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvcHJvamVjdHNgLCB7XHJcbiAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIExpc3RCcmFuY2hlcyhcclxuICAgIG9yZ2FuaXphdGlvbjogc3RyaW5nLFxyXG4gICAgcmVwb3NpdG9yeTogc3RyaW5nXHJcbiAgKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9naXRodWIvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbn0vcmVwb3NpdG9yaWVzLyR7cmVwb3NpdG9yeX0vYnJhbmNoZXNgLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIExpc3RCdWlsZFBhdGhzKFxyXG4gICAgb3JnYW5pemF0aW9uOiBzdHJpbmcsXHJcbiAgICByZXBvc2l0b3J5OiBzdHJpbmcsXHJcbiAgICBicmFuY2g6IHN0cmluZyA9ICcnXHJcbiAgKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9naXRodWIvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbn0vcmVwb3NpdG9yaWVzLyR7cmVwb3NpdG9yeX0vYnVpbGQtcGF0aHM/YnJhbmNoPSR7YnJhbmNofWAsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTGlzdEVudGVycHJpc2VzKCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvbWFuYWdlL2VudGVycHJpc2VzL2xpc3RgLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIExpc3RPcmdhbml6YXRpb25zKCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvZ2l0aHViL29yZ2FuaXphdGlvbnNgLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIExpc3RSZXBvc2l0b3JpZXMob3JnYW5pemF0aW9uOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L2dpdGh1Yi9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9ufS9yZXBvc2l0b3JpZXNgLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIExvYWRFbnRlcnByaXNlQXNDb2RlKCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZWFjYCwge1xyXG4gICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBMb2FkUHJvamVjdEhvc3RpbmdEZXRhaWxzKFxyXG4gICAgb3JnYW5pemF0aW9uOiBzdHJpbmcsXHJcbiAgICByZXBvc2l0b3J5OiBzdHJpbmcsXHJcbiAgICBicmFuY2g6IHN0cmluZ1xyXG4gICk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICBicmFuY2ggPSBlbmNvZGVVUklDb21wb25lbnQoYnJhbmNoKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvbWFuYWdlL3Byb2plY3RzL29yZ2FuaXphdGlvbnMvJHtvcmdhbml6YXRpb259L3JlcG9zaXRvcmllcy8ke3JlcG9zaXRvcnl9L2JyYW5jaGVzLyR7YnJhbmNofS9ob3N0aW5nL2RldGFpbHNgLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE5ld0xvYWRQcm9qZWN0SG9zdGluZ0RldGFpbHMoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG5cclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvbWFuYWdlL3Byb2plY3RzL2hvc3RpbmcvZGV0YWlsc2AsXHJcblxyXG4gICAgICB7XHJcblxyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNhdmVFbnRlcnByaXNlQXNDb2RlKGVhYzogRW50ZXJwcmlzZUFzQ29kZSk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvbWFuYWdlL2VhY2AsIGVhYywge1xyXG4gICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZXRBY3RpdmVFbnRlcnByaXNlKGFjdGl2ZUVudExvb2t1cDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvbWFuYWdlL2VudGVycHJpc2VzL2FjdGl2ZWAsXHJcbiAgICAgIHtcclxuICAgICAgICBBY3RpdmVFbnRlcnByaXNlTG9va3VwOiBhY3RpdmVFbnRMb29rdXAsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgVW5wYWNrTG93Q29kZVVuaXQocmVxOiBVbnBhY2tMb3dDb2RlVW5pdFJlcXVlc3QpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvcHJvamVjdHMvdW5wYWNrYCxcclxuICAgICAgcmVxLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFVzZXJGZWVkKCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L3VzZXJmZWVkYCxcclxuICAgICAge30sXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyAgSGVscGVyc1xyXG4gIHByb3RlY3RlZCBsb2FkSGVhZGVycygpOiB7IFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH0ge1xyXG4gICAgcmV0dXJuIHt9O1xyXG4gIH1cclxufVxyXG4iXX0=
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25zLWZsb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9hcHBsaWNhdGlvbnMtZmxvdy9hcHBsaWNhdGlvbnMtZmxvdy9wcm9qZWN0cy9jb21tb24vc3JjLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2FwcGxpY2F0aW9ucy1mbG93LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBVWpELE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsY0FBYztJQUVkLGVBQWU7SUFDZixZQUNZLElBQWdCLEVBQ2hCLFFBQTRCO1FBRDVCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFFdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjO0lBQ1AscUJBQXFCLENBQUMsWUFBb0I7UUFDL0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsR0FBRyxJQUFJLENBQUMsT0FBTywwQ0FBMEMsWUFBWSxZQUFZLEVBQ2pGLEVBQUUsRUFDRjtZQUNFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQzVCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxnQkFBZ0IsQ0FDckIsWUFBb0IsRUFDcEIsUUFBZ0I7UUFFaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsR0FBRyxJQUFJLENBQUMsT0FBTyx5Q0FBeUMsWUFBWSxlQUFlLEVBQ25GO1lBQ0UsSUFBSSxFQUFFLFFBQVE7U0FDZixFQUNEO1lBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFX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QUFXLEVBQUU7U0FFNUIsQ0FFRixDQUFDO0lBQ0osQ0FBQztJQUVNLG9CQUFvQixDQUFDLEdBQXFCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyw2QkFBNkIsRUFBRSxHQUFHLEVBQUU7WUFDdkUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLG1CQUFtQixDQUFDLGVBQXVCO1FBQ2hELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLE9BQU8sNENBQTRDLEVBQzNEO1lBQ0Usc0JBQXNCLEVBQUUsZUFBZTtTQUN4QyxFQUNEO1lBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7U0FDNUIsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLGlCQUFpQixDQUFDLEdBQTZCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLE9BQU8seUNBQXlDLEVBQ3hELEdBQUcsRUFDSDtZQUNFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQzVCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsT0FBTywyQkFBMkIsRUFDMUM7WUFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtTQUM1QixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztJQUNELFdBQVc7UUFDbkIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOzs7O1lBaFBGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBWFEsVUFBVTtZQUVWLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTENVU2VydmljZVNldHRpbmdzIH0gZnJvbSAnQGxjdS9jb21tb24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEVudGVycHJpc2VBc0NvZGUgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIFVucGFja0xvd0NvZGVVbml0UmVxdWVzdCxcclxufSBmcm9tICcuLi9zdGF0ZS9hcHBsaWNhdGlvbnMtZmxvdy5zdGF0ZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25zRmxvd1NlcnZpY2Uge1xyXG4gIC8vICBGaWVsZHNcclxuICBwcm90ZWN0ZWQgYXBpUm9vdDogc3RyaW5nO1xyXG5cclxuICAvLyAgUHJvcGVydGllc1xyXG5cclxuICAvLyBDb25zdHJ1Y3RvcnNcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJvdGVjdGVkIHNldHRpbmdzOiBMQ1VTZXJ2aWNlU2V0dGluZ3NcclxuICApIHtcclxuICAgIHRoaXMuYXBpUm9vdCA9IHNldHRpbmdzLkFQSVJvb3Q7XHJcbiAgfVxyXG5cclxuICAvLyBBUEkgTWV0aG9kc1xyXG4gIHB1YmxpYyBDb25maWd1cmVEZXZPcHNBY3Rpb24oYWN0aW9uTG9va3VwOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZGV2b3BzL2FjdGlvbnMvJHthY3Rpb25Mb29rdXB9L2NvbmZpZ3VyZWAsXHJcbiAgICAgIHt9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIENyZWF0ZVJlcG9zaXRvcnkoXHJcbiAgICBvcmdhbml6YXRpb246IHN0cmluZyxcclxuICAgIHJlcG9OYW1lOiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9naXRodWIvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbn0vcmVwb3NpdG9yaWVzYCxcclxuICAgICAge1xyXG4gICAgICAgIE5hbWU6IHJlcG9OYW1lLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIERlbGV0ZUFwcGxpY2F0aW9uKGFwcExvb2t1cDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvYXBwbGljYXRpb25zLyR7YXBwTG9va3VwfWAsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgRGVsZXRlRGV2T3BzQWN0aW9uKGRvYUxvb2t1cDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZGV2b3BzLWFjdGlvbnMvJHtkb2FMb29rdXB9YCxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBEZWxldGVQcm9qZWN0KHByb2plY3RMb29rdXA6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvbWFuYWdlL3Byb2plY3RzLyR7cHJvamVjdExvb2t1cH1gLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIERlbGV0ZVNvdXJjZUNvbnRyb2woc2NMb29rdXA6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvbWFuYWdlL3NvdXJjZS1jb250cm9scy8ke3NjTG9va3VwfWAsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgRW5zdXJlVXNlckVudGVycHJpc2UoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvbWFuYWdlL2VudGVycHJpc2UvZW5zdXJlYCxcclxuICAgICAge30sXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0QWN0aXZlRW50ZXJwcmlzZSgpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9lbnRlcnByaXNlcy9hY3RpdmVgLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEhhc1ZhbGlkQ29ubmVjdGlvbigpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L2dpdGh1Yi9jb25uZWN0aW9uL3ZhbGlkYCxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBMaXN0UHJvamVjdHMoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9wcm9qZWN0c2AsIHtcclxuICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTGlzdEJyYW5jaGVzKFxyXG4gICAgb3JnYW5pemF0aW9uOiBzdHJpbmcsXHJcbiAgICByZXBvc2l0b3J5OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L2dpdGh1Yi9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9ufS9yZXBvc2l0b3JpZXMvJHtyZXBvc2l0b3J5fS9icmFuY2hlc2AsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTGlzdEJ1aWxkUGF0aHMoXHJcbiAgICBvcmdhbml6YXRpb246IHN0cmluZyxcclxuICAgIHJlcG9zaXRvcnk6IHN0cmluZyxcclxuICAgIGJyYW5jaDogc3RyaW5nID0gJydcclxuICApOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L2dpdGh1Yi9vcmdhbml6YXRpb25zLyR7b3JnYW5pemF0aW9ufS9yZXBvc2l0b3JpZXMvJHtyZXBvc2l0b3J5fS9idWlsZC1wYXRocz9icmFuY2g9JHticmFuY2h9YCxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBMaXN0RW50ZXJwcmlzZXMoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZW50ZXJwcmlzZXMvbGlzdGAsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTGlzdE9yZ2FuaXphdGlvbnMoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9naXRodWIvb3JnYW5pemF0aW9uc2AsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTGlzdFJlcG9zaXRvcmllcyhvcmdhbml6YXRpb246IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcclxuICAgICAgYCR7dGhpcy5hcGlSb290fS9hcGkvbG93Y29kZXVuaXQvZ2l0aHViL29yZ2FuaXphdGlvbnMvJHtvcmdhbml6YXRpb259L3JlcG9zaXRvcmllc2AsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTG9hZEVudGVycHJpc2VBc0NvZGUoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9lYWNgLCB7XHJcbiAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIExvYWRQcm9qZWN0SG9zdGluZ0RldGFpbHMoXHJcbiAgICBvcmdhbml6YXRpb246IHN0cmluZyxcclxuICAgIHJlcG9zaXRvcnk6IHN0cmluZyxcclxuICAgIGJyYW5jaDogc3RyaW5nXHJcbiAgKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIGJyYW5jaCA9IGVuY29kZVVSSUNvbXBvbmVudChicmFuY2gpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvcHJvamVjdHMvb3JnYW5pemF0aW9ucy8ke29yZ2FuaXphdGlvbn0vcmVwb3NpdG9yaWVzLyR7cmVwb3NpdG9yeX0vYnJhbmNoZXMvJHticmFuY2h9L2hvc3RpbmcvZGV0YWlsc2AsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTmV3TG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcblxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvcHJvamVjdHMvaG9zdGluZy9kZXRhaWxzYCxcclxuXHJcbiAgICAgIHtcclxuXHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5sb2FkSGVhZGVycygpLFxyXG5cclxuICAgICAgfVxyXG5cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2F2ZUVudGVycHJpc2VBc0NvZGUoZWFjOiBFbnRlcnByaXNlQXNDb2RlKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZWFjYCwgZWFjLCB7XHJcbiAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNldEFjdGl2ZUVudGVycHJpc2UoYWN0aXZlRW50TG9va3VwOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC9tYW5hZ2UvZW50ZXJwcmlzZXMvYWN0aXZlYCxcclxuICAgICAge1xyXG4gICAgICAgIEFjdGl2ZUVudGVycHJpc2VMb29rdXA6IGFjdGl2ZUVudExvb2t1cCxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMubG9hZEhlYWRlcnMoKSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBVbnBhY2tMb3dDb2RlVW5pdChyZXE6IFVucGFja0xvd0NvZGVVbml0UmVxdWVzdCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXHJcbiAgICAgIGAke3RoaXMuYXBpUm9vdH0vYXBpL2xvd2NvZGV1bml0L21hbmFnZS9wcm9qZWN0cy91bnBhY2tgLFxyXG4gICAgICByZXEsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgVXNlckZlZWQoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmFwaVJvb3R9L2FwaS9sb3djb2RldW5pdC91c2VyZmVlZGAsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB0aGlzLmxvYWRIZWFkZXJzKCksXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyAgSGVscGVyc1xyXG4gIHByb3RlY3RlZCBsb2FkSGVhZGVycygpOiB7IFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH0ge1xyXG4gICAgcmV0dXJuIHt9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -271,7 +271,7 @@ class ApplicationsFlowService {
271
271
  });
272
272
  }
273
273
  UserFeed() {
274
- return this.http.post(`${this.apiRoot}/api/lowcodeunit/userfeed`, {}, {
274
+ return this.http.get(`${this.apiRoot}/api/lowcodeunit/userfeed`, {
275
275
  headers: this.loadHeaders(),
276
276
  });
277
277
  }
@@ -3901,7 +3901,7 @@ class ProcessorDetailsFormComponent {
3901
3901
  this.formBldr = formBldr;
3902
3902
  this.eacSvc = eacSvc;
3903
3903
  this.redirectTooltip = '';
3904
- this.SaveFormEvent = new EventEmitter;
3904
+ this.SaveFormEvent = new EventEmitter();
3905
3905
  }
3906
3906
  get APIRootFormControl() {
3907
3907
  var _a;
@@ -4014,7 +4014,7 @@ class ProcessorDetailsFormComponent {
4014
4014
  this.setupProcessorDetailsForm();
4015
4015
  }
4016
4016
  SubmitProcessorDetails() {
4017
- console.log("submitting proc details: ", this.ProcessorDetailsFormGroup.value);
4017
+ console.log('submitting proc details: ', this.ProcessorDetailsFormGroup.value);
4018
4018
  this.SaveFormEvent.emit(this.ProcessorDetailsFormGroup.value);
4019
4019
  }
4020
4020
  ProcessorTypeChanged(event) {
@@ -4069,6 +4069,9 @@ class ProcessorDetailsFormComponent {
4069
4069
  case 'GitHubOAuth':
4070
4070
  this.setupLCUGitHubOAuthForm();
4071
4071
  break;
4072
+ case 'WordPress':
4073
+ this.setupLCUWordPressForm();
4074
+ break;
4072
4075
  // case 'NPM':
4073
4076
  // this.setupLCUNPMForm();
4074
4077
  // break;
@@ -4084,10 +4087,10 @@ class ProcessorDetailsFormComponent {
4084
4087
  setupProcessorDetailsForm() {
4085
4088
  var _a, _b;
4086
4089
  this.ProcessorType = ((_b = (_a = this.EditingApplication) === null || _a === void 0 ? void 0 : _a.Processor) === null || _b === void 0 ? void 0 : _b.Type) || '';
4087
- console.log("EDITING APP = ", this.EditingApplication);
4090
+ console.log('EDITING APP = ', this.EditingApplication);
4088
4091
  if (this.EditingApplication != null) {
4089
4092
  this.ProcessorDetailsFormGroup = this.formBldr.group({
4090
- procType: [this.ProcessorType, [Validators.required]]
4093
+ procType: [this.ProcessorType, [Validators.required]],
4091
4094
  });
4092
4095
  this.setupDfsForm();
4093
4096
  this.setupLcuTypeSubForm();
@@ -4132,6 +4135,10 @@ class ProcessorDetailsFormComponent {
4132
4135
  this.ProcessorDetailsFormGroup.addControl('clientId', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.ClientID) || '', [Validators.required]));
4133
4136
  this.ProcessorDetailsFormGroup.addControl('clientSecret', this.formBldr.control(((_b = this.EditingApplication.LowCodeUnit) === null || _b === void 0 ? void 0 : _b.ClientSecret) || '', [Validators.required]));
4134
4137
  }
4138
+ setupLCUWordPressForm() {
4139
+ var _a;
4140
+ this.ProcessorDetailsFormGroup.addControl('apiRoot', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.APIRoot) || '', [Validators.required]));
4141
+ }
4135
4142
  setupProxyForm() {
4136
4143
  var _a, _b;
4137
4144
  this.LCUType = ((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.Type) || '';
@@ -4189,7 +4196,7 @@ class ProcessorDetailsFormComponent {
4189
4196
  ProcessorDetailsFormComponent.decorators = [
4190
4197
  { type: Component, args: [{
4191
4198
  selector: 'lcu-processor-details-form',
4192
- template: "<form class=\"processor-details-form\" [formGroup]=\"ProcessorDetailsFormGroup\" (ngSubmit)=\"SubmitProcessorDetails()\">\n<mat-card class=\"spread flow-card\">\n <mat-card-header>\n <mat-card-title> Processor Details </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"procType\"\n (selectionChange)=\"ProcessorTypeChanged($event)\"\n required\n >\n <mat-option value=\"DFS\">View Package</mat-option>\n\n <mat-option value=\"Redirect\">Redirect</mat-option>\n\n <mat-option value=\"Proxy\">Proxy</mat-option>\n\n <mat-option value=\"OAuth\">OAuth</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"ProcessorType\">\n <div *ngSwitchCase=\"'DFS'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Default File\"\n formControlName=\"defaultFile\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"NPM\">NPM</mat-option>\n\n <mat-option value=\"GitHub\">GitHub</mat-option>\n\n <!-- <mat-option value=\"Zip\">Zip</mat-option> -->\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHub'\">\n <lcu-source-control-form-controls\n [build-path]=\"EditingApplication?.LowCodeUnit?.Path\"\n [form-group]=\"ProcessorDetailsFormGroup\"\n [source-control]=\"DefaultSourceControl\"\n [use-branches]=\"false\"\n [use-build-path]=\"true\"\n ></lcu-source-control-form-controls>\n\n <mat-form-field\n class=\"mat-full-width\"\n *ngIf=\"\n SourceControlFormControls?.RepositoryFormControl?.valid\n \"\n >\n <input\n matInput\n placeholder=\"Build\"\n formControlName=\"build\"\n required\n />\n\n <mat-hint>\n Current Build:\n {{ EditingApplication?.LowCodeUnit?.CurrentBuild }}\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'NPM'\">\n <lcu-npm-package-select\n [npm-package]=\"EditingApplication?.LowCodeUnit?.Package\"\n [npm-package-version]=\"\n EditingApplication?.LowCodeUnit?.Version\n \"\n [form-group]=\"ProcessorDetailsFormGroup\"\n ></lcu-npm-package-select>\n\n <mat-hint>\n Current Version:\n {{ EditingApplication?.LowCodeUnit?.CurrentVersion }}\n </mat-hint>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'OAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Scopes (space separated)\"\n formControlName=\"scopes\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Token Lookup\"\n formControlName=\"tokenLookup\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"GitHubOAuth\">GitHub</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHubOAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client ID\"\n formControlName=\"clientId\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client Secret\"\n formControlName=\"clientSecret\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Proxy'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Inbound Path\"\n formControlName=\"inboundPath\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"API\">API</mat-option>\n\n <mat-option value=\"SPA\">Single Page Application</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'API'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"API Root\"\n formControlName=\"apiRoot\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Allowed Methods (separate with spaces)\"\n formControlName=\"methods\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Security ({header}~{value})\"\n formControlName=\"security\"\n required\n />\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'SPA'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"SPA Root\"\n formControlName=\"spaRoot\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Redirect'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Redirect URL\"\n formControlName=\"redirect\"\n required\n />\n </mat-form-field>\n\n <div>\n <mat-slide-toggle \n class=\"spread\" \n formControlName=\"permanent\">\n Is Permanent?\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"spread\"\n formControlName=\"preserveMethod\"\n >\n Preserve Method?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n (mouseenter)=\"DetermineTooltipText()\"\n matTooltip={{redirectTooltip}}\n >\n info_outline\n </mat-icon>\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && !IsPreserve\"\n\n class=\"spread\"\n matSuffix\n matTooltip=\"302 \u2013 Not Permanent and Not Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"307 \u2013 Not Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"308 \u2013 Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n \n\n <!-- <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Values used to control the redirect type. Permanent and Not Preserve = 301; Not Permanent and Not Preserve = 302; Permanent and Preserve = 308; Not Permanent and Not Preserve = 307;\"\n >\n info_outline\n </mat-icon> -->\n </div>\n \n <div>\n <mat-slide-toggle \n class=\"spread\" \n formControlName=\"includeRequest\">\n Include Path and Query?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Should the redirect include the path and query?\"\n >\n info_outline\n </mat-icon>\n </div>\n </div>\n </div>\n </mat-card-content>\n <mat-card-actions fxLayoutAlign=\"center center\">\n\n <button \n mat-raised-button \n type=\"submit\" \n fxFlex=\"100%\" \n color=\"primary\" \n [disabled]=\"!ProcessorDetailsFormGroup.valid || !ProcessorDetailsFormGroup.dirty\">\n <mat-icon>save</mat-icon>\n Save Processor Details\n </button>\n\n </mat-card-actions>\n</mat-card>\n</form>\n \n",
4199
+ template: "<form class=\"processor-details-form\" [formGroup]=\"ProcessorDetailsFormGroup\" (ngSubmit)=\"SubmitProcessorDetails()\">\n<mat-card class=\"spread flow-card\">\n <mat-card-header>\n <mat-card-title> Processor Details </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"procType\"\n (selectionChange)=\"ProcessorTypeChanged($event)\"\n required\n >\n <mat-option value=\"DFS\">View Package</mat-option>\n\n <mat-option value=\"Redirect\">Redirect</mat-option>\n\n <mat-option value=\"Proxy\">Proxy</mat-option>\n\n <mat-option value=\"OAuth\">OAuth</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"ProcessorType\">\n <div *ngSwitchCase=\"'DFS'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Default File\"\n formControlName=\"defaultFile\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"NPM\">NPM</mat-option>\n\n <mat-option value=\"GitHub\">GitHub</mat-option>\n\n <mat-option value=\"WordPress\">WordPress</mat-option>\n\n <!-- <mat-option value=\"Zip\">Zip</mat-option> -->\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHub'\">\n <lcu-source-control-form-controls\n [build-path]=\"EditingApplication?.LowCodeUnit?.Path\"\n [form-group]=\"ProcessorDetailsFormGroup\"\n [source-control]=\"DefaultSourceControl\"\n [use-branches]=\"false\"\n [use-build-path]=\"true\"\n ></lcu-source-control-form-controls>\n\n <mat-form-field\n class=\"mat-full-width\"\n *ngIf=\"\n SourceControlFormControls?.RepositoryFormControl?.valid\n \"\n >\n <input\n matInput\n placeholder=\"Build\"\n formControlName=\"build\"\n required\n />\n\n <mat-hint>\n Current Build:\n {{ EditingApplication?.LowCodeUnit?.CurrentBuild }}\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'NPM'\">\n <lcu-npm-package-select\n [npm-package]=\"EditingApplication?.LowCodeUnit?.Package\"\n [npm-package-version]=\"\n EditingApplication?.LowCodeUnit?.Version\n \"\n [form-group]=\"ProcessorDetailsFormGroup\"\n ></lcu-npm-package-select>\n\n <mat-hint>\n Current Version:\n {{ EditingApplication?.LowCodeUnit?.CurrentVersion }}\n </mat-hint>\n </div>\n\n <div *ngSwitchCase=\"'WordPress'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"API Root\"\n formControlName=\"apiRoot\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'OAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Scopes (space separated)\"\n formControlName=\"scopes\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Token Lookup\"\n formControlName=\"tokenLookup\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"GitHubOAuth\">GitHub</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHubOAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client ID\"\n formControlName=\"clientId\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client Secret\"\n formControlName=\"clientSecret\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Proxy'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Inbound Path\"\n formControlName=\"inboundPath\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"API\">API</mat-option>\n\n <mat-option value=\"SPA\">Single Page Application</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'API'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"API Root\"\n formControlName=\"apiRoot\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Allowed Methods (separate with spaces)\"\n formControlName=\"methods\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Security ({header}~{value})\"\n formControlName=\"security\"\n required\n />\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'SPA'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"SPA Root\"\n formControlName=\"spaRoot\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Redirect'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Redirect URL\"\n formControlName=\"redirect\"\n required\n />\n </mat-form-field>\n\n <div>\n <mat-slide-toggle \n class=\"spread\" \n formControlName=\"permanent\">\n Is Permanent?\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"spread\"\n formControlName=\"preserveMethod\"\n >\n Preserve Method?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n (mouseenter)=\"DetermineTooltipText()\"\n matTooltip={{redirectTooltip}}\n >\n info_outline\n </mat-icon>\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && !IsPreserve\"\n\n class=\"spread\"\n matSuffix\n matTooltip=\"302 \u2013 Not Permanent and Not Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"307 \u2013 Not Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"308 \u2013 Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n \n\n <!-- <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Values used to control the redirect type. Permanent and Not Preserve = 301; Not Permanent and Not Preserve = 302; Permanent and Preserve = 308; Not Permanent and Not Preserve = 307;\"\n >\n info_outline\n </mat-icon> -->\n </div>\n \n <div>\n <mat-slide-toggle \n class=\"spread\" \n formControlName=\"includeRequest\">\n Include Path and Query?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Should the redirect include the path and query?\"\n >\n info_outline\n </mat-icon>\n </div>\n </div>\n </div>\n </mat-card-content>\n <mat-card-actions fxLayoutAlign=\"center center\">\n\n <button \n mat-raised-button \n type=\"submit\" \n fxFlex=\"100%\" \n color=\"primary\" \n [disabled]=\"!ProcessorDetailsFormGroup.valid || !ProcessorDetailsFormGroup.dirty\">\n <mat-icon>save</mat-icon>\n Save Processor Details\n </button>\n\n </mat-card-actions>\n</mat-card>\n</form>\n \n",
4193
4200
  styles: [""]
4194
4201
  },] }
4195
4202
  ];