@dsivd/prestations-ng 16.4.0-beta.7 → 16.4.0-beta.8

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,6 +1,7 @@
1
1
  import { Component, Input, ViewChild } from '@angular/core';
2
- import { combineLatest, merge, of, pairwise, startWith } from 'rxjs';
3
- import { filter, first, map, switchMap, take, tap } from 'rxjs/operators';
2
+ import { NavigationStart } from '@angular/router';
3
+ import { combineLatest, merge, of } from 'rxjs';
4
+ import { distinctUntilChanged, filter, first, map, switchMap, tap } from 'rxjs/operators';
4
5
  import { FoehnFormComponent } from '../../foehn-form/foehn-form.component';
5
6
  import { RepriseInfo } from '../reprise-info';
6
7
  import * as i0 from "@angular/core";
@@ -11,17 +12,18 @@ import * as i4 from "../../gesdem/gesdem-event.service";
11
12
  import * as i5 from "../../gesdem/gesdem-handler.service";
12
13
  import * as i6 from "../../sdk-appinfo/application-info.service";
13
14
  import * as i7 from "../../sdk-session-info/session-info.service";
14
- import * as i8 from "@angular/common";
15
- import * as i9 from "../../foehn-input/foehn-input-text.component";
16
- import * as i10 from "../../foehn-input/foehn-input-email.component";
17
- import * as i11 from "../../foehn-input/foehn-input-phone.component";
18
- import * as i12 from "../../foehn-icons/foehn-icon-pencil.component";
19
- import * as i13 from "../../foehn-form/foehn-form.component";
20
- import * as i14 from "../../foehn-modal/foehn-modal.component";
21
- import * as i15 from "../../sdk-dictionary/sdk-dictionary.pipe";
22
- import * as i16 from "../../pipes/date.pipe";
15
+ import * as i8 from "@angular/router";
16
+ import * as i9 from "@angular/common";
17
+ import * as i10 from "../../foehn-input/foehn-input-text.component";
18
+ import * as i11 from "../../foehn-input/foehn-input-email.component";
19
+ import * as i12 from "../../foehn-input/foehn-input-phone.component";
20
+ import * as i13 from "../../foehn-icons/foehn-icon-pencil.component";
21
+ import * as i14 from "../../foehn-form/foehn-form.component";
22
+ import * as i15 from "../../foehn-modal/foehn-modal.component";
23
+ import * as i16 from "../../sdk-dictionary/sdk-dictionary.pipe";
24
+ import * as i17 from "../../pipes/date.pipe";
23
25
  export class GesdemActionRecoveryRegistrationComponent {
24
- constructor(actionRecoveryService, validationHandler, foehnPageService, gesdemEventService, gesdemService, appInfoService, sessionInfoService) {
26
+ constructor(actionRecoveryService, validationHandler, foehnPageService, gesdemEventService, gesdemService, appInfoService, sessionInfoService, router) {
25
27
  this.actionRecoveryService = actionRecoveryService;
26
28
  this.validationHandler = validationHandler;
27
29
  this.foehnPageService = foehnPageService;
@@ -29,7 +31,8 @@ export class GesdemActionRecoveryRegistrationComponent {
29
31
  this.gesdemService = gesdemService;
30
32
  this.appInfoService = appInfoService;
31
33
  this.sessionInfoService = sessionInfoService;
32
- this.triggerOnFirstSave = false;
34
+ this.router = router;
35
+ this.triggerOnPageChange = false;
33
36
  this.model = new RepriseInfo();
34
37
  this.mailSent = false;
35
38
  this.isVisible = false;
@@ -50,46 +53,69 @@ export class GesdemActionRecoveryRegistrationComponent {
50
53
  this.isConnectedCyber,
51
54
  isConnectedIamAcv
52
55
  ]).pipe(map(([currentEtapeInfo, isConnectedCyber, connectedIamAcv]) => this.canContinueLaterForEtape(currentEtapeInfo, isConnectedCyber, connectedIamAcv)));
53
- this.gesdemEventService
54
- .formInitializationObservable()
55
- .pipe(startWith(null), pairwise(), map(([previous, current]) => {
56
- const previousResponse = previous;
57
- const currentResponse = current;
58
- return (!previousResponse?.meta?.reference &&
59
- currentResponse?.meta?.reference !==
60
- previousResponse?.meta?.reference);
61
- }), filter(() => !!this.gesdemService.lastResponse?.meta?.reference), take(1), switchMap(() => this.canContinueLater.pipe(first())))
62
- // eslint-disable-next-line rxjs-angular/prefer-async-pipe
63
- .subscribe(canContinueLater => {
64
- if (this.triggerOnFirstSave && canContinueLater) {
65
- this.open();
56
+ this.modalTriggerLabel = combineLatest([
57
+ this.currentInfoReprise.pipe(map(repriseInfo => !!repriseInfo), distinctUntilChanged()),
58
+ this.isConnectedCyber
59
+ ]).pipe(map(([hasInfoReprise, isConnectedCyber]) => {
60
+ if (isConnectedCyber) {
61
+ return this.continueLaterConnectedLabel;
66
62
  }
67
- });
63
+ if (hasInfoReprise) {
64
+ return this.continueLaterAlreadyRegisteredLabel;
65
+ }
66
+ return this.continueLaterLabel;
67
+ }));
68
+ if (this.triggerOnPageChange) {
69
+ let recoverySuggested = false;
70
+ this.triggerAutomaticallySub = combineLatest([
71
+ this.canContinueLater.pipe(first()),
72
+ this.currentInfoReprise.pipe(map(repriseInfo => !!repriseInfo), distinctUntilChanged()),
73
+ this.isConnectedCyber,
74
+ this.router.events.pipe(filter(e => e instanceof NavigationStart))
75
+ // eslint-disable-next-line rxjs-angular/prefer-async-pipe
76
+ ]).subscribe(([canContinueLater, hasInfoReprise, isConnectedCyber]) => {
77
+ const hasBeenSaved = !!this.gesdemService.lastResponse?.meta
78
+ ?.reference;
79
+ if (canContinueLater &&
80
+ !hasInfoReprise &&
81
+ hasBeenSaved &&
82
+ !recoverySuggested) {
83
+ this.router.navigate([]); // prevent navigation to next page
84
+ this.openModal(isConnectedCyber);
85
+ recoverySuggested = true;
86
+ }
87
+ });
88
+ }
68
89
  }
69
- open() {
90
+ ngOnDestroy() {
91
+ this.triggerAutomaticallySub?.unsubscribe();
92
+ }
93
+ saveAndOpenModal() {
70
94
  this.gesdemEventService
71
95
  .formSentObservable()
72
96
  .pipe(first(), filter(resp => !!resp.meta.reference), switchMap(() => this.isConnectedCyber))
73
97
  // eslint-disable-next-line rxjs-angular/prefer-async-pipe
74
98
  .subscribe(isConnectedCyber => {
75
- this.mailSent = false;
76
- this.isVisible = true;
77
- if (!isConnectedCyber) {
78
- combineLatest([
79
- this.actionRecoveryService.getDefaultRecoveryValue(this.reference),
80
- this.currentInfoReprise
81
- ]) // eslint-disable-next-line rxjs/no-nested-subscribe,rxjs-angular/prefer-async-pipe
82
- .subscribe(([defaultRepriseInfo, currentRepriseInfo]) => {
83
- this.model =
84
- currentRepriseInfo || defaultRepriseInfo;
85
- });
86
- }
87
- else {
88
- this.model = null;
89
- }
99
+ this.openModal(isConnectedCyber);
90
100
  });
91
101
  this.foehnPageService.requestFormSave();
92
102
  }
103
+ openModal(isConnectedCyber) {
104
+ this.mailSent = false;
105
+ this.isVisible = true;
106
+ if (!isConnectedCyber) {
107
+ combineLatest([
108
+ this.actionRecoveryService.getDefaultRecoveryValue(this.reference),
109
+ this.currentInfoReprise
110
+ ]) // eslint-disable-next-line rxjs-angular/prefer-async-pipe
111
+ .subscribe(([defaultRepriseInfo, currentRepriseInfo]) => {
112
+ this.model = currentRepriseInfo || defaultRepriseInfo;
113
+ });
114
+ }
115
+ else {
116
+ this.model = null;
117
+ }
118
+ }
93
119
  close() {
94
120
  this.updateVisibilityStatus(false);
95
121
  }
@@ -143,14 +169,18 @@ export class GesdemActionRecoveryRegistrationComponent {
143
169
  currentEtapeInfo.idMetierPrestation);
144
170
  }
145
171
  }
146
- GesdemActionRecoveryRegistrationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GesdemActionRecoveryRegistrationComponent, deps: [{ token: i1.GesdemActionRecoveryService }, { token: i2.ValidationHandlerService }, { token: i3.FoehnPageService }, { token: i4.GesdemEventService }, { token: i5.GesdemHandlerService }, { token: i6.ApplicationInfoService }, { token: i7.SessionInfo }], target: i0.ɵɵFactoryTarget.Component });
147
- GesdemActionRecoveryRegistrationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: { continueLaterLabel: "continueLaterLabel", triggerOnFirstSave: "triggerOnFirstSave" }, viewQueries: [{ propertyName: "modalTrigger", first: true, predicate: ["modalTrigger"], descendants: true }, { propertyName: "form", first: true, predicate: FoehnFormComponent, descendants: true }], ngImport: i0, template: "<button\n type=\"button\"\n id=\"continueLaterButton\"\n class=\"btn btn-link pr-0 pl-0 no-text-transform\"\n *ngIf=\"canContinueLater | async\"\n (click)=\"open()\"\n #modalTrigger\n>\n {{ continueLaterLabel }}\n</button>\n\n<ng-container *ngIf=\"currentInfoReprise | async as currentInfo\">\n <div\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.current-info.preview'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n lastRegistration:\n (currentInfo.lastUpdate | displayDate)\n }\n \"\n ></div>\n</ng-container>\n\n<foehn-modal\n *ngIf=\"currentEtapeInfo | async as etapeInfo\"\n id=\"action-recovery-registration-modal\"\n [modalSize]=\"!(isConnectedCyber | async) ? 'modal-lg' : 'modal-md'\"\n [modalHeaderText]=\"\n 'gesdem-action-recovery-registration.modalHeaderText' | fromDictionary\n \"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n>\n <ng-container *ngIf=\"!!(isConnectedCyber | async)\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info'\n | fromDictionary\n \"\n ></span>\n\n <a href=\"/100002/demandes/search/MINE/INITIAL\">\n <foehn-icon-pencil\n class=\"h3\"\n aria-hidden=\"true\"\n [title]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></foehn-icon-pencil>\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></span>\n </a>\n </ng-container>\n\n <ng-container *ngIf=\"!(isConnectedCyber | async)\">\n <ng-container\n *ngIf=\"\n currentInfoReprise | async as currentInfo;\n else noCurrentInfo\n \"\n >\n <div\n class=\"alert alert-info\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.current-info'\n | fromDictionary\n : {\n lastRegistration:\n (currentInfo.lastUpdate | displayDate),\n draftDemRetentionDaysPublic: etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n\n <div\n class=\"alert alert-info\"\n *ngIf=\"mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info.sent'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n recoveryMobile: currentInfo.mobile,\n draftDemRetentionDaysPublic: etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n </ng-container>\n\n <foehn-form *ngIf=\"!mailSent\" [shouldDisplayAlertSummary]=\"false\">\n <foehn-input-email\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.email.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.email.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.email\"\n name=\"email\"\n [required]=\"true\"\n ></foehn-input-email>\n\n <foehn-input-phone\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.mobile.label'\n | fromDictionary\n \"\n [acceptInternational]=\"true\"\n [acceptMobilePhone]=\"true\"\n [acceptPhone]=\"false\"\n [(model)]=\"model.mobile\"\n name=\"mobile\"\n [required]=\"true\"\n ></foehn-input-phone>\n\n <foehn-input-text\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.referenceInterne\"\n name=\"referenceInterne\"\n [required]=\"false\"\n ></foehn-input-text>\n </foehn-form>\n </ng-container>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <button\n (click)=\"close()\"\n class=\"btn btn-secondary w-100\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.cancel.button'\n | fromDictionary\n \"\n ></button>\n </div>\n <div\n *ngIf=\"!(isConnectedCyber | async)\"\n class=\"ml-md-0 mr-md-2 mb-2 mt-2\"\n >\n <button\n type=\"submit\"\n (click)=\"sendAndClose()\"\n class=\"btn btn-success w-100\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.save.button'\n | fromDictionary\n \"\n ></button>\n </div>\n </div>\n </div>\n</foehn-modal>\n\n<ng-template #noCurrentInfo>\n <div\n class=\"alert alert-info\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.not-registered.info'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic: (\n currentEtapeInfo | async\n ).draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n</ng-template>\n", styles: [".no-text-transform{text-transform:none;cursor:pointer}:host ::ng-deep foehn-icon-pencil .svg-inline--fa{color:#4a4a4b!important;margin-right:10px}\n"], dependencies: [{ kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.FoehnInputTextComponent, selector: "foehn-input-text", inputs: ["numberOnly"] }, { kind: "component", type: i10.FoehnInputEmailComponent, selector: "foehn-input-email" }, { kind: "component", type: i11.FoehnInputPhoneComponent, selector: "foehn-input-phone", inputs: ["acceptInternational", "acceptMobilePhone", "acceptPhone"] }, { kind: "component", type: i12.FoehnIconPencilComponent, selector: "foehn-icon-pencil" }, { kind: "component", type: i13.FoehnFormComponent, selector: "foehn-form", inputs: ["shouldDisplayAlertSummary"] }, { kind: "component", type: i14.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i15.SdkDictionaryPipe, name: "fromDictionary" }, { kind: "pipe", type: i16.DisplayDatePipe, name: "displayDate" }] });
172
+ GesdemActionRecoveryRegistrationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GesdemActionRecoveryRegistrationComponent, deps: [{ token: i1.GesdemActionRecoveryService }, { token: i2.ValidationHandlerService }, { token: i3.FoehnPageService }, { token: i4.GesdemEventService }, { token: i5.GesdemHandlerService }, { token: i6.ApplicationInfoService }, { token: i7.SessionInfo }, { token: i8.Router }], target: i0.ɵɵFactoryTarget.Component });
173
+ GesdemActionRecoveryRegistrationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: { continueLaterLabel: "continueLaterLabel", continueLaterAlreadyRegisteredLabel: "continueLaterAlreadyRegisteredLabel", continueLaterConnectedLabel: "continueLaterConnectedLabel", triggerOnPageChange: "triggerOnPageChange" }, viewQueries: [{ propertyName: "modalTrigger", first: true, predicate: ["modalTrigger"], descendants: true }, { propertyName: "form", first: true, predicate: FoehnFormComponent, descendants: true }], ngImport: i0, template: "<button\n type=\"button\"\n id=\"continueLaterButton\"\n class=\"btn btn-link pr-0 pl-0 no-text-transform\"\n *ngIf=\"canContinueLater | async\"\n [innerHTML]=\"modalTriggerLabel | async\"\n (click)=\"saveAndOpenModal()\"\n #modalTrigger\n></button>\n\n<ng-container *ngIf=\"currentInfoReprise | async as currentInfo\">\n <div\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.current-info.preview'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n lastRegistration:\n (currentInfo.lastUpdate | displayDate)\n }\n \"\n ></div>\n</ng-container>\n\n<foehn-modal\n *ngIf=\"currentEtapeInfo | async as etapeInfo\"\n id=\"action-recovery-registration-modal\"\n [modalSize]=\"!(isConnectedCyber | async) ? 'modal-lg' : 'modal-md'\"\n [modalHeaderText]=\"\n 'gesdem-action-recovery-registration.modalHeaderText' | fromDictionary\n \"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n>\n <ng-container *ngIf=\"!!(isConnectedCyber | async)\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info'\n | fromDictionary\n \"\n ></span>\n\n <a href=\"/100002/demandes/search/MINE/INITIAL\">\n <foehn-icon-pencil\n class=\"h3\"\n aria-hidden=\"true\"\n [title]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></foehn-icon-pencil>\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></span>\n </a>\n </ng-container>\n\n <ng-container *ngIf=\"!(isConnectedCyber | async)\">\n <ng-container\n *ngIf=\"\n currentInfoReprise | async as currentInfo;\n else noCurrentInfo\n \"\n >\n <div\n class=\"alert alert-info\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.current-info'\n | fromDictionary\n : {\n lastRegistration:\n (currentInfo.lastUpdate | displayDate),\n draftDemRetentionDaysPublic: etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n\n <div\n class=\"alert alert-info\"\n *ngIf=\"mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info.sent'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n recoveryMobile: currentInfo.mobile,\n draftDemRetentionDaysPublic: etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n </ng-container>\n\n <foehn-form *ngIf=\"!mailSent\" [shouldDisplayAlertSummary]=\"false\">\n <foehn-input-email\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.email.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.email.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.email\"\n name=\"email\"\n [required]=\"true\"\n ></foehn-input-email>\n\n <foehn-input-phone\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.mobile.label'\n | fromDictionary\n \"\n [acceptInternational]=\"true\"\n [acceptMobilePhone]=\"true\"\n [acceptPhone]=\"false\"\n [(model)]=\"model.mobile\"\n name=\"mobile\"\n [required]=\"true\"\n ></foehn-input-phone>\n\n <foehn-input-text\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.referenceInterne\"\n name=\"referenceInterne\"\n [required]=\"false\"\n ></foehn-input-text>\n </foehn-form>\n </ng-container>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <button\n (click)=\"close()\"\n class=\"btn btn-secondary w-100\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.cancel.button'\n | fromDictionary\n \"\n ></button>\n </div>\n <div\n *ngIf=\"!(isConnectedCyber | async)\"\n class=\"ml-md-0 mr-md-2 mb-2 mt-2\"\n >\n <button\n type=\"submit\"\n (click)=\"sendAndClose()\"\n class=\"btn btn-success w-100\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.save.button'\n | fromDictionary\n \"\n ></button>\n </div>\n </div>\n </div>\n</foehn-modal>\n\n<ng-template #noCurrentInfo>\n <div\n class=\"alert alert-info\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.not-registered.info'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic: (\n currentEtapeInfo | async\n ).draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n</ng-template>\n", styles: [".no-text-transform{text-transform:none;cursor:pointer}:host ::ng-deep foehn-icon-pencil .svg-inline--fa{color:#4a4a4b!important;margin-right:10px}\n"], dependencies: [{ kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i10.FoehnInputTextComponent, selector: "foehn-input-text", inputs: ["numberOnly"] }, { kind: "component", type: i11.FoehnInputEmailComponent, selector: "foehn-input-email" }, { kind: "component", type: i12.FoehnInputPhoneComponent, selector: "foehn-input-phone", inputs: ["acceptInternational", "acceptMobilePhone", "acceptPhone"] }, { kind: "component", type: i13.FoehnIconPencilComponent, selector: "foehn-icon-pencil" }, { kind: "component", type: i14.FoehnFormComponent, selector: "foehn-form", inputs: ["shouldDisplayAlertSummary"] }, { kind: "component", type: i15.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i16.SdkDictionaryPipe, name: "fromDictionary" }, { kind: "pipe", type: i17.DisplayDatePipe, name: "displayDate" }] });
148
174
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GesdemActionRecoveryRegistrationComponent, decorators: [{
149
175
  type: Component,
150
- args: [{ selector: 'gesdem-action-recovery-registration', template: "<button\n type=\"button\"\n id=\"continueLaterButton\"\n class=\"btn btn-link pr-0 pl-0 no-text-transform\"\n *ngIf=\"canContinueLater | async\"\n (click)=\"open()\"\n #modalTrigger\n>\n {{ continueLaterLabel }}\n</button>\n\n<ng-container *ngIf=\"currentInfoReprise | async as currentInfo\">\n <div\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.current-info.preview'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n lastRegistration:\n (currentInfo.lastUpdate | displayDate)\n }\n \"\n ></div>\n</ng-container>\n\n<foehn-modal\n *ngIf=\"currentEtapeInfo | async as etapeInfo\"\n id=\"action-recovery-registration-modal\"\n [modalSize]=\"!(isConnectedCyber | async) ? 'modal-lg' : 'modal-md'\"\n [modalHeaderText]=\"\n 'gesdem-action-recovery-registration.modalHeaderText' | fromDictionary\n \"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n>\n <ng-container *ngIf=\"!!(isConnectedCyber | async)\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info'\n | fromDictionary\n \"\n ></span>\n\n <a href=\"/100002/demandes/search/MINE/INITIAL\">\n <foehn-icon-pencil\n class=\"h3\"\n aria-hidden=\"true\"\n [title]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></foehn-icon-pencil>\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></span>\n </a>\n </ng-container>\n\n <ng-container *ngIf=\"!(isConnectedCyber | async)\">\n <ng-container\n *ngIf=\"\n currentInfoReprise | async as currentInfo;\n else noCurrentInfo\n \"\n >\n <div\n class=\"alert alert-info\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.current-info'\n | fromDictionary\n : {\n lastRegistration:\n (currentInfo.lastUpdate | displayDate),\n draftDemRetentionDaysPublic: etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n\n <div\n class=\"alert alert-info\"\n *ngIf=\"mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info.sent'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n recoveryMobile: currentInfo.mobile,\n draftDemRetentionDaysPublic: etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n </ng-container>\n\n <foehn-form *ngIf=\"!mailSent\" [shouldDisplayAlertSummary]=\"false\">\n <foehn-input-email\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.email.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.email.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.email\"\n name=\"email\"\n [required]=\"true\"\n ></foehn-input-email>\n\n <foehn-input-phone\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.mobile.label'\n | fromDictionary\n \"\n [acceptInternational]=\"true\"\n [acceptMobilePhone]=\"true\"\n [acceptPhone]=\"false\"\n [(model)]=\"model.mobile\"\n name=\"mobile\"\n [required]=\"true\"\n ></foehn-input-phone>\n\n <foehn-input-text\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.referenceInterne\"\n name=\"referenceInterne\"\n [required]=\"false\"\n ></foehn-input-text>\n </foehn-form>\n </ng-container>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <button\n (click)=\"close()\"\n class=\"btn btn-secondary w-100\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.cancel.button'\n | fromDictionary\n \"\n ></button>\n </div>\n <div\n *ngIf=\"!(isConnectedCyber | async)\"\n class=\"ml-md-0 mr-md-2 mb-2 mt-2\"\n >\n <button\n type=\"submit\"\n (click)=\"sendAndClose()\"\n class=\"btn btn-success w-100\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.save.button'\n | fromDictionary\n \"\n ></button>\n </div>\n </div>\n </div>\n</foehn-modal>\n\n<ng-template #noCurrentInfo>\n <div\n class=\"alert alert-info\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.not-registered.info'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic: (\n currentEtapeInfo | async\n ).draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n</ng-template>\n", styles: [".no-text-transform{text-transform:none;cursor:pointer}:host ::ng-deep foehn-icon-pencil .svg-inline--fa{color:#4a4a4b!important;margin-right:10px}\n"] }]
151
- }], ctorParameters: function () { return [{ type: i1.GesdemActionRecoveryService }, { type: i2.ValidationHandlerService }, { type: i3.FoehnPageService }, { type: i4.GesdemEventService }, { type: i5.GesdemHandlerService }, { type: i6.ApplicationInfoService }, { type: i7.SessionInfo }]; }, propDecorators: { continueLaterLabel: [{
176
+ args: [{ selector: 'gesdem-action-recovery-registration', template: "<button\n type=\"button\"\n id=\"continueLaterButton\"\n class=\"btn btn-link pr-0 pl-0 no-text-transform\"\n *ngIf=\"canContinueLater | async\"\n [innerHTML]=\"modalTriggerLabel | async\"\n (click)=\"saveAndOpenModal()\"\n #modalTrigger\n></button>\n\n<ng-container *ngIf=\"currentInfoReprise | async as currentInfo\">\n <div\n class=\"small\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.current-info.preview'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n lastRegistration:\n (currentInfo.lastUpdate | displayDate)\n }\n \"\n ></div>\n</ng-container>\n\n<foehn-modal\n *ngIf=\"currentEtapeInfo | async as etapeInfo\"\n id=\"action-recovery-registration-modal\"\n [modalSize]=\"!(isConnectedCyber | async) ? 'modal-lg' : 'modal-md'\"\n [modalHeaderText]=\"\n 'gesdem-action-recovery-registration.modalHeaderText' | fromDictionary\n \"\n [isModalVisible]=\"isModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n>\n <ng-container *ngIf=\"!!(isConnectedCyber | async)\">\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info'\n | fromDictionary\n \"\n ></span>\n\n <a href=\"/100002/demandes/search/MINE/INITIAL\">\n <foehn-icon-pencil\n class=\"h3\"\n aria-hidden=\"true\"\n [title]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></foehn-icon-pencil>\n <span\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.connected.info.draft-link-text'\n | fromDictionary\n \"\n ></span>\n </a>\n </ng-container>\n\n <ng-container *ngIf=\"!(isConnectedCyber | async)\">\n <ng-container\n *ngIf=\"\n currentInfoReprise | async as currentInfo;\n else noCurrentInfo\n \"\n >\n <div\n class=\"alert alert-info\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.current-info'\n | fromDictionary\n : {\n lastRegistration:\n (currentInfo.lastUpdate | displayDate),\n draftDemRetentionDaysPublic: etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n\n <div\n class=\"alert alert-info\"\n *ngIf=\"mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.info.sent'\n | fromDictionary\n : {\n recoveryMail: currentInfo.email,\n recoveryMobile: currentInfo.mobile,\n draftDemRetentionDaysPublic: etapeInfo.draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n </ng-container>\n\n <foehn-form *ngIf=\"!mailSent\" [shouldDisplayAlertSummary]=\"false\">\n <foehn-input-email\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.email.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.email.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.email\"\n name=\"email\"\n [required]=\"true\"\n ></foehn-input-email>\n\n <foehn-input-phone\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.mobile.label'\n | fromDictionary\n \"\n [acceptInternational]=\"true\"\n [acceptMobilePhone]=\"true\"\n [acceptPhone]=\"false\"\n [(model)]=\"model.mobile\"\n name=\"mobile\"\n [required]=\"true\"\n ></foehn-input-phone>\n\n <foehn-input-text\n [label]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.label'\n | fromDictionary\n \"\n [helpText]=\"\n 'gesdem-action-recovery-registration.not-connected.reference-interne.help-text'\n | fromDictionary\n \"\n [(model)]=\"model.referenceInterne\"\n name=\"referenceInterne\"\n [required]=\"false\"\n ></foehn-input-text>\n </foehn-form>\n </ng-container>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <button\n (click)=\"close()\"\n class=\"btn btn-secondary w-100\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.cancel.button'\n | fromDictionary\n \"\n ></button>\n </div>\n <div\n *ngIf=\"!(isConnectedCyber | async)\"\n class=\"ml-md-0 mr-md-2 mb-2 mt-2\"\n >\n <button\n type=\"submit\"\n (click)=\"sendAndClose()\"\n class=\"btn btn-success w-100\"\n *ngIf=\"!mailSent\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.save.button'\n | fromDictionary\n \"\n ></button>\n </div>\n </div>\n </div>\n</foehn-modal>\n\n<ng-template #noCurrentInfo>\n <div\n class=\"alert alert-info\"\n [innerHTML]=\"\n 'gesdem-action-recovery-registration.not-connected.not-registered.info'\n | fromDictionary\n : {\n draftDemRetentionDaysPublic: (\n currentEtapeInfo | async\n ).draftDemRetentionDaysPublic?.toString()\n }\n \"\n ></div>\n</ng-template>\n", styles: [".no-text-transform{text-transform:none;cursor:pointer}:host ::ng-deep foehn-icon-pencil .svg-inline--fa{color:#4a4a4b!important;margin-right:10px}\n"] }]
177
+ }], ctorParameters: function () { return [{ type: i1.GesdemActionRecoveryService }, { type: i2.ValidationHandlerService }, { type: i3.FoehnPageService }, { type: i4.GesdemEventService }, { type: i5.GesdemHandlerService }, { type: i6.ApplicationInfoService }, { type: i7.SessionInfo }, { type: i8.Router }]; }, propDecorators: { continueLaterLabel: [{
178
+ type: Input
179
+ }], continueLaterAlreadyRegisteredLabel: [{
180
+ type: Input
181
+ }], continueLaterConnectedLabel: [{
152
182
  type: Input
153
- }], triggerOnFirstSave: [{
183
+ }], triggerOnPageChange: [{
154
184
  type: Input
155
185
  }], modalTrigger: [{
156
186
  type: ViewChild,
@@ -159,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
159
189
  type: ViewChild,
160
190
  args: [FoehnFormComponent]
161
191
  }] } });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFDSCxhQUFhLEVBQ2IsS0FBSyxFQUVMLEVBQUUsRUFDRixRQUFRLEVBQ1IsU0FBUyxFQUNaLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFXM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFROUMsTUFBTSxPQUFPLHlDQUF5QztJQXVCbEQsWUFDWSxxQkFBa0QsRUFDbEQsaUJBQTJDLEVBQzNDLGdCQUFrQyxFQUNsQyxrQkFBc0MsRUFDdEMsYUFBbUMsRUFDbkMsY0FBc0MsRUFDdEMsa0JBQStCO1FBTi9CLDBCQUFxQixH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K0NBQStDO1FBQy9DLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1FBRXhCLGlHQUFpRztRQUNqRywwRUFBMEU7UUFDMUUsaUNBQWlDO1FBQ2pDLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzNDO0lBQ0wsQ0FBQztJQUVPLHdCQUF3QixDQUM1QixnQkFBMkIsRUFDM0IsZ0JBQXlCLEVBQ3pCLGlCQUEwQjtRQUUxQixJQUFJLGlCQUFpQixFQUFFO1lBQ25CLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsa0VBQWtFO1FBQ2xFLGdCQUFnQjtRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDbkIsT0FBTyxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7U0FDL0Q7UUFFRCwyRUFBMkU7UUFDM0UsUUFBUTtRQUNSLE9BQU8sQ0FDSCxnQkFBZ0I7WUFDaEIsZ0JBQWdCLENBQUMsYUFBYTtnQkFDMUIsZ0JBQWdCLENBQUMsa0JBQWtCLENBQzFDLENBQUM7SUFDTixDQUFDOztzSUF4TVEseUNBQXlDOzBIQUF6Qyx5Q0FBeUMsZ1RBVXZDLGtCQUFrQixnREN4Q2pDLDhzTkEyTEE7MkZEN0phLHlDQUF5QztrQkFOckQsU0FBUzsrQkFFSSxxQ0FBcUM7MlRBTS9DLGtCQUFrQjtzQkFEakIsS0FBSztnQkFJTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxTQUFTO3VCQUFDLGNBQWM7Z0JBSXpCLElBQUk7c0JBREgsU0FBUzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBjb21iaW5lTGF0ZXN0LFxuICAgIG1lcmdlLFxuICAgIE9ic2VydmFibGUsXG4gICAgb2YsXG4gICAgcGFpcndpc2UsXG4gICAgc3RhcnRXaXRoXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgbWFwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRm9laG5Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZm9laG4tZm9ybS9mb2Vobi1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2VoblBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZm9laG4tcGFnZS9mb2Vobi1wYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybVBvc3RSZXNwb25zZSB9IGZyb20gJy4uLy4uL2Zvcm0tcG9zdC1yZXNwb25zZSc7XG5pbXBvcnQgeyBHZXNkZW1FdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9nZXNkZW0vZ2VzZGVtLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VzZGVtSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJMThuRm9ybSB9IGZyb20gJy4uLy4uL2kxOG4tZm9ybSc7XG5pbXBvcnQgeyBFdGFwZUluZm8gfSBmcm9tICcuLi8uLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi8uLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25IYW5kbGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VzZGVtQWN0aW9uUmVjb3ZlcnlTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcHJpc2VJbmZvIH0gZnJvbSAnLi4vcmVwcmlzZS1pbmZvJztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHZXNkZW1BY3Rpb25SZWNvdmVyeVJlZ2lzdHJhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBjb250aW51ZUxhdGVyTGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgdHJpZ2dlck9uRmlyc3RTYXZlID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKCdtb2RhbFRyaWdnZXInKVxuICAgIG1vZGFsVHJpZ2dlcjogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoRm9laG5Gb3JtQ29tcG9uZW50KVxuICAgIGZvcm06IEZvZWhuRm9ybUNvbXBvbmVudDtcblxuICAgIG1vZGVsID0gbmV3IFJlcHJpc2VJbmZvKCk7XG4gICAgbWFpbFNlbnQgPSBmYWxzZTtcblxuICAgIGNhbkNvbnRpbnVlTGF0ZXI6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgaXNDb25uZWN0ZWRDeWJlcjogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBjdXJyZW50SW5mb1JlcHJpc2U6IE9ic2VydmFibGU8UmVwcmlzZUluZm8+O1xuICAgIGN1cnJlbnRFdGFwZUluZm86IE9ic2VydmFibGU8RXRhcGVJbmZvPjtcblxuICAgIHByaXZhdGUgaXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhY3Rpb25SZWNvdmVyeVNlcnZpY2U6IEdlc2RlbUFjdGlvblJlY292ZXJ5U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB2YWxpZGF0aW9uSGFuZGxlcjogVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZvZWhuUGFnZVNlcnZpY2U6IEZvZWhuUGFnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZ2VzZGVtRXZlbnRTZXJ2aWNlOiBHZXNkZW1FdmVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZ2VzZGVtU2VydmljZTogR2VzZGVtSGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXBwSW5mb1NlcnZpY2U6IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc2Vzc2lvbkluZm9TZXJ2aWNlOiBTZXNzaW9uSW5mb1xuICAgICkge1xuICAgICAgICB0aGlzLmN1cnJlbnRJbmZvUmVwcmlzZSA9IG1lcmdlKFxuICAgICAgICAgICAgb2YodW5kZWZpbmVkKSxcbiAgICAgICAgICAgIHRoaXMuZ2VzZGVtRXZlbnRTZXJ2aWNlLmZvcm1Jbml0aWFsaXphdGlvbk9ic2VydmFibGUoKVxuICAgICAgICApLnBpcGUobWFwKCgpID0+IHRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2U/Lm1ldGE/LmluZm9SZXByaXNlKSk7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50RXRhcGVJbmZvID0gdGhpcy5hcHBJbmZvU2VydmljZS5jdXJyZW50RXRhcGVJbmZvO1xuICAgIH1cblxuICAgIGdldCBpc01vZGFsVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNWaXNpYmxlO1xuICAgIH1cblxuICAgIGdldCByZWZlcmVuY2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2U/Lm1ldGE/LnJlZmVyZW5jZTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZEN5YmVyID0gdGhpcy5zZXNzaW9uSW5mb1NlcnZpY2UuZGF0YS5waXBlKFxuICAgICAgICAgICAgbWFwKHNlc3Npb25JbmZvID0+ICEhc2Vzc2lvbkluZm8gJiYgISFzZXNzaW9uSW5mby5jb250ZXh0KVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGlzQ29ubmVjdGVkSWFtQWN2ID0gdGhpcy5zZXNzaW9uSW5mb1NlcnZpY2UuZGF0YS5waXBlKFxuICAgICAgICAgICAgbWFwKHNlc3Npb25JbmZvID0+ICEhc2Vzc2lvbkluZm8gJiYgIXNlc3Npb25JbmZvLmNvbnRleHQpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jYW5Db250aW51ZUxhdGVyID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRFdGFwZUluZm8sXG4gICAgICAgICAgICB0aGlzLmlzQ29ubmVjdGVkQ3liZXIsXG4gICAgICAgICAgICBpc0Nvbm5lY3RlZElhbUFjdlxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbY3VycmVudEV0YXBlSW5mbywgaXNDb25uZWN0ZWRDeWJlciwgY29ubmVjdGVkSWFtQWN2XSkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmNhbkNvbnRpbnVlTGF0ZXJGb3JFdGFwZShcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEV0YXBlSW5mbyxcbiAgICAgICAgICAgICAgICAgICAgaXNDb25uZWN0ZWRDeWJlcixcbiAgICAgICAgICAgICAgICAgICAgY29ubmVjdGVkSWFtQWN2XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZ2VzZGVtRXZlbnRTZXJ2aWNlXG4gICAgICAgICAgICAuZm9ybUluaXRpYWxpemF0aW9uT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgICAgICBtYXAoKFtwcmV2aW91cywgY3VycmVudF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNSZXNwb25zZSA9IHByZXZpb3VzIGFzIEZvcm1Qb3N0UmVzcG9uc2U8STE4bkZvcm0+O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50UmVzcG9uc2UgPSBjdXJyZW50IGFzIEZvcm1Qb3N0UmVzcG9uc2U8STE4bkZvcm0+O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgIXByZXZpb3VzUmVzcG9uc2U/Lm1ldGE/LnJlZmVyZW5jZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFJlc3BvbnNlPy5tZXRhPy5yZWZlcmVuY2UgIT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNSZXNwb25zZT8ubWV0YT8ucmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiAhIXRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2U/Lm1ldGE/LnJlZmVyZW5jZVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jYW5Db250aW51ZUxhdGVyLnBpcGUoZmlyc3QoKSkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy1hbmd1bGFyL3ByZWZlci1hc3luYy1waXBlXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGNhbkNvbnRpbnVlTGF0ZXIgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyaWdnZXJPbkZpcnN0U2F2ZSAmJiBjYW5Db250aW51ZUxhdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9wZW4oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2VzZGVtRXZlbnRTZXJ2aWNlXG4gICAgICAgICAgICAuZm9ybVNlbnRPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKHJlc3AgPT4gISFyZXNwLm1ldGEucmVmZXJlbmNlKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5pc0Nvbm5lY3RlZEN5YmVyKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICAgICAgLnN1YnNjcmliZShpc0Nvbm5lY3RlZEN5YmVyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1haWxTZW50ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Zpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmICghaXNDb25uZWN0ZWRDeWJlcikge1xuICAgICAgICAgICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aW9uUmVjb3ZlcnlTZXJ2aWNlLmdldERlZmF1bHRSZWNvdmVyeVZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50SW5mb1JlcHJpc2VcbiAgICAgICAgICAgICAgICAgICAgXSkgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMvbm8tbmVzdGVkLXN1YnNjcmliZSxyeGpzLWFuZ3VsYXIvcHJlZmVyLWFzeW5jLXBpcGVcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKFtkZWZhdWx0UmVwcmlzZUluZm8sIGN1cnJlbnRSZXByaXNlSW5mb10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RlbCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50UmVwcmlzZUluZm8gfHwgZGVmYXVsdFJlcHJpc2VJbmZvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RlbCA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mb2VoblBhZ2VTZXJ2aWNlLnJlcXVlc3RGb3JtU2F2ZSgpO1xuICAgIH1cblxuICAgIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZpc2liaWxpdHlTdGF0dXMoZmFsc2UpO1xuICAgIH1cblxuICAgIHNlbmRBbmRDbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3Rpb25SZWNvdmVyeVNlcnZpY2VcbiAgICAgICAgICAgIC5yZWdpc3RlckZvclJlY292ZXJ5KHRoaXMucmVmZXJlbmNlLCB0aGlzLm1vZGVsKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKGZvcm1SZWNvdmVyeUVycm9ycyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25IYW5kbGVyLnNob3VsZERpc3BsYXlFcnJvcnModHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbkhhbmRsZXIudXBkYXRlRXJyb3JzKFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZvcm1SZWNvdmVyeUVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UuZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uZm9jdXNGaXJzdEluRXJyb3IoKTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZWdpc3RyYXRpb25TdWNjZXNzZnVsbCA9ICFmb3JtUmVjb3ZlcnlFcnJvcnMubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1haWxTZW50ID0gcmVnaXN0cmF0aW9uU3VjY2Vzc2Z1bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlZ2lzdHJhdGlvblN1Y2Nlc3NmdWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgZm9ybSBjb3VsZCBoYXZlIGJlZW4gdXBkYXRlZCBieSB0aGUgYmFja2VuZCBvbiByZWNvdmVyeSByZWdpc3RyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByeGpzLWFuZ3VsYXIvcHJlZmVyLWFzeW5jLXBpcGVcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2VzZGVtU2VydmljZS5yZXRyaWV2ZSh0aGlzLnJlZmVyZW5jZSkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZVZpc2liaWxpdHlTdGF0dXMoc3RhdHVzOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIC8vIFN0b3JlIHRoZSBwcmV2aW91cyB2YWx1ZSB0byBoYW5kbGUgdHJhbnNpdGlvbnMgZnJvbSBvbmUgc3RhdGUgdG8gYW5vdGhlci5cbiAgICAgICAgY29uc3Qgd2FzT3BlbiA9IHRoaXMuaXNWaXNpYmxlO1xuXG4gICAgICAgIC8vIEluIGNhc2UgdGhlIG1vZGFsIGlzIGNsb3NlZCBieSBhbm90aGVyIG1lYW4uXG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gc3RhdHVzO1xuXG4gICAgICAgIC8vIEZvY3VzIGJhY2sgb24gdGhlIHRyaWdnZXIuIE5vIG5lZWQgZm9yIGEgc2V0VGltZW91dCBhcyB0aGUgdHJpZ2dlciBzaG91bGQgc3RpbGwgYmUgaW4gdGhlIERPTS5cbiAgICAgICAgLy8gT25seSBkb2VzIGl0IHdoZW4gdGhlIG1vZGFsIGlzIGNsb3NlZCBmcm9tIGEgb3BlbiBzdGF0ZSB0byBhdm9pZCB0byBzZXRcbiAgICAgICAgLy8gdGhlIGZvY3VzIHdoZW4gdGhlIHBhZ2UgbG9hZHMuXG4gICAgICAgIGlmICh3YXNPcGVuICYmICF0aGlzLmlzVmlzaWJsZSAmJiB0aGlzLm1vZGFsVHJpZ2dlcikge1xuICAgICAgICAgICAgdGhpcy5tb2RhbFRyaWdnZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYW5Db250aW51ZUxhdGVyRm9yRXRhcGUoXG4gICAgICAgIGN1cnJlbnRFdGFwZUluZm86IEV0YXBlSW5mbyxcbiAgICAgICAgaXNDb25uZWN0ZWRDeWJlcjogYm9vbGVhbixcbiAgICAgICAgaXNDb25uZWN0ZWRJYW1BY3Y6IGJvb2xlYW5cbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGlzQ29ubmVjdGVkSWFtQWN2KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBub3QgY29ubmVjdGVkLCB0YWtlIHRoZSBcInJlcHJpc2VQb3NzaWJsZVwiIGZsYWcgZnJvbSBDYXRQcmVzdFxuICAgICAgICAvLyBpbnRvIGFjY291bnQuXG4gICAgICAgIGlmICghaXNDb25uZWN0ZWRDeWJlcikge1xuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRFdGFwZUluZm8gJiYgY3VycmVudEV0YXBlSW5mby5yZXByaXNlUG9zc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBjb25uZWN0ZWQsIG9ubHkgZGlzcGxheSB0aGUgYnV0dG9uIGlmIHRoZSBjdXJyZW50IHN0ZXAgaWYgdGhlIGluaXRpYWxcbiAgICAgICAgLy8gc3RlcC5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8gJiZcbiAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8uaWRNZXRpZXJFdGFwZSA9PT1cbiAgICAgICAgICAgICAgICBjdXJyZW50RXRhcGVJbmZvLmlkTWV0aWVyUHJlc3RhdGlvblxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBpZD1cImNvbnRpbnVlTGF0ZXJCdXR0b25cIlxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHByLTAgcGwtMCBuby10ZXh0LXRyYW5zZm9ybVwiXG4gICAgKm5nSWY9XCJjYW5Db250aW51ZUxhdGVyIHwgYXN5bmNcIlxuICAgIChjbGljayk9XCJvcGVuKClcIlxuICAgICNtb2RhbFRyaWdnZXJcbj5cbiAgICB7eyBjb250aW51ZUxhdGVyTGFiZWwgfX1cbjwvYnV0dG9uPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudEluZm9SZXByaXNlIHwgYXN5bmMgYXMgY3VycmVudEluZm9cIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic21hbGxcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmN1cnJlbnQtaW5mby5wcmV2aWV3J1xuICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJlY292ZXJ5TWFpbDogY3VycmVudEluZm8uZW1haWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RSZWdpc3RyYXRpb246XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY3VycmVudEluZm8ubGFzdFVwZGF0ZSB8IGRpc3BsYXlEYXRlKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXCJcbiAgICA+PC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGZvZWhuLW1vZGFsXG4gICAgKm5nSWY9XCJjdXJyZW50RXRhcGVJbmZvIHwgYXN5bmMgYXMgZXRhcGVJbmZvXCJcbiAgICBpZD1cImFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24tbW9kYWxcIlxuICAgIFttb2RhbFNpemVdPVwiIShpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpID8gJ21vZGFsLWxnJyA6ICdtb2RhbC1tZCdcIlxuICAgIFttb2RhbEhlYWRlclRleHRdPVwiXG4gICAgICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5tb2RhbEhlYWRlclRleHQnIHwgZnJvbURpY3Rpb25hcnlcbiAgICBcIlxuICAgIFtpc01vZGFsVmlzaWJsZV09XCJpc01vZGFsVmlzaWJsZVwiXG4gICAgKGlzTW9kYWxWaXNpYmxlQ2hhbmdlKT1cInVwZGF0ZVZpc2liaWxpdHlTdGF0dXMoJGV2ZW50KVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEhKGlzQ29ubmVjdGVkQ3liZXIgfCBhc3luYylcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNvbm5lY3RlZC5pbmZvJ1xuICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICBcIlxuICAgICAgICA+PC9zcGFuPlxuXG4gICAgICAgIDxhIGhyZWY9XCIvMTAwMDAyL2RlbWFuZGVzL3NlYXJjaC9NSU5FL0lOSVRJQUxcIj5cbiAgICAgICAgICAgIDxmb2Vobi1pY29uLXBlbmNpbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaDNcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29ubmVjdGVkLmluZm8uZHJhZnQtbGluay10ZXh0J1xuICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9mb2Vobi1pY29uLXBlbmNpbD5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNvbm5lY3RlZC5pbmZvLmRyYWZ0LWxpbmstdGV4dCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEoaXNDb25uZWN0ZWRDeWJlciB8IGFzeW5jKVwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgIGN1cnJlbnRJbmZvUmVwcmlzZSB8IGFzeW5jIGFzIGN1cnJlbnRJbmZvO1xuICAgICAgICAgICAgICAgIGVsc2Ugbm9DdXJyZW50SW5mb1xuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhbWFpbFNlbnRcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLmN1cnJlbnQtaW5mbydcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0UmVnaXN0cmF0aW9uOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY3VycmVudEluZm8ubGFzdFVwZGF0ZSB8IGRpc3BsYXlEYXRlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmFmdERlbVJldGVudGlvbkRheXNQdWJsaWM6IGV0YXBlSW5mby5kcmFmdERlbVJldGVudGlvbkRheXNQdWJsaWM/LnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm1haWxTZW50XCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5pbmZvLnNlbnQnXG4gICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3ZlcnlNYWlsOiBjdXJyZW50SW5mby5lbWFpbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvdmVyeU1vYmlsZTogY3VycmVudEluZm8ubW9iaWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpYzogZXRhcGVJbmZvLmRyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpYz8udG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxmb2Vobi1mb3JtICpuZ0lmPVwiIW1haWxTZW50XCIgW3Nob3VsZERpc3BsYXlBbGVydFN1bW1hcnldPVwiZmFsc2VcIj5cbiAgICAgICAgICAgIDxmb2Vobi1pbnB1dC1lbWFpbFxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQuZW1haWwubGFiZWwnXG4gICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbaGVscFRleHRdPVwiXG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLmVtYWlsLmhlbHAtdGV4dCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsLmVtYWlsXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgID48L2ZvZWhuLWlucHV0LWVtYWlsPlxuXG4gICAgICAgICAgICA8Zm9laG4taW5wdXQtcGhvbmVcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLm1vYmlsZS5sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFthY2NlcHRJbnRlcm5hdGlvbmFsXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFthY2NlcHRNb2JpbGVQaG9uZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbYWNjZXB0UGhvbmVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsLm1vYmlsZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cIm1vYmlsZVwiXG4gICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgPjwvZm9laG4taW5wdXQtcGhvbmU+XG5cbiAgICAgICAgICAgIDxmb2Vobi1pbnB1dC10ZXh0XG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5yZWZlcmVuY2UtaW50ZXJuZS5sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtoZWxwVGV4dF09XCJcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQucmVmZXJlbmNlLWludGVybmUuaGVscC10ZXh0J1xuICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgWyhtb2RlbCldPVwibW9kZWwucmVmZXJlbmNlSW50ZXJuZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cInJlZmVyZW5jZUludGVybmVcIlxuICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICA+PC9mb2Vobi1pbnB1dC10ZXh0PlxuICAgICAgICA8L2ZvZWhuLWZvcm0+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8ZGl2IG1vZGFsLWZvb3RlciBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLW1kLWZsZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtbC1tZC1hdXRvIG1yLW1kLTIgbWItMiBtdC0yXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgdy0xMDBcIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNhbmNlbC5idXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIShpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLW1kLTAgbXItbWQtMiBtYi0yIG10LTJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZW5kQW5kQ2xvc2UoKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIHctMTAwXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhbWFpbFNlbnRcIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLnNhdmUuYnV0dG9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2ZvZWhuLW1vZGFsPlxuXG48bmctdGVtcGxhdGUgI25vQ3VycmVudEluZm8+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm9cIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQubm90LXJlZ2lzdGVyZWQuaW5mbydcbiAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkcmFmdERlbVJldGVudGlvbkRheXNQdWJsaWM6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8gfCBhc3luY1xuICAgICAgICAgICAgICAgICAgICAgICAgICApLmRyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpYz8udG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXCJcbiAgICA+PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnkvZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24vZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxLQUFLLEVBR0wsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBYyxFQUFFLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzFFLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEtBQUssRUFDTCxHQUFHLEVBQ0gsU0FBUyxFQUNULEdBQUcsRUFDTixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBUzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVE5QyxNQUFNLE9BQU8seUNBQXlDO0lBZ0NsRCxZQUNZLHFCQUFrRCxFQUNsRCxpQkFBMkMsRUFDM0MsZ0JBQWtDLEVBQ2xDLGtCQUFzQyxFQUN0QyxhQUFtQyxFQUNuQyxjQUFz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LElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzNDO0lBQ0wsQ0FBQztJQUVPLHdCQUF3QixDQUM1QixnQkFBMkIsRUFDM0IsZ0JBQXlCLEVBQ3pCLGlCQUEwQjtRQUUxQixJQUFJLGlCQUFpQixFQUFFO1lBQ25CLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsa0VBQWtFO1FBQ2xFLGdCQUFnQjtRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDbkIsT0FBTyxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7U0FDL0Q7UUFFRCwyRUFBMkU7UUFDM0UsUUFBUTtRQUNSLE9BQU8sQ0FDSCxnQkFBZ0I7WUFDaEIsZ0JBQWdCLENBQUMsYUFBYTtnQkFDMUIsZ0JBQWdCLENBQUMsa0JBQWtCLENBQzFDLENBQUM7SUFDTixDQUFDOztzSUE5T1EseUNBQXlDOzBIQUF6Qyx5Q0FBeUMsMGJBaUJ2QyxrQkFBa0IsZ0RDckRqQyx5dU5BMExBOzJGRHRKYSx5Q0FBeUM7a0JBTnJELFNBQVM7K0JBRUkscUNBQXFDO2dWQU8vQyxrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSU4sbUNBQW1DO3NCQURsQyxLQUFLO2dCQUlOLDJCQUEyQjtzQkFEMUIsS0FBSztnQkFJTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxTQUFTO3VCQUFDLGNBQWM7Z0JBSXpCLElBQUk7c0JBREgsU0FBUzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZmlsdGVyLFxuICAgIGZpcnN0LFxuICAgIG1hcCxcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFwXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRm9laG5Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZm9laG4tZm9ybS9mb2Vobi1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2VoblBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZm9laG4tcGFnZS9mb2Vobi1wYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VzZGVtRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZ2VzZGVtL2dlc2RlbS1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEdlc2RlbUhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZ2VzZGVtL2dlc2RlbS1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXRhcGVJbmZvIH0gZnJvbSAnLi4vLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mbyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25JbmZvIH0gZnJvbSAnLi4vLi4vc2RrLXNlc3Npb24taW5mby9zZXNzaW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IEdlc2RlbUFjdGlvblJlY292ZXJ5U2VydmljZSB9IGZyb20gJy4uL2dlc2RlbS1hY3Rpb24tcmVjb3Zlcnkuc2VydmljZSc7XG5pbXBvcnQgeyBSZXByaXNlSW5mbyB9IGZyb20gJy4uL3JlcHJpc2UtaW5mbyc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9nZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR2VzZGVtQWN0aW9uUmVjb3ZlcnlSZWdpc3RyYXRpb25Db21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIGNvbnRpbnVlTGF0ZXJMYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBjb250aW51ZUxhdGVyQWxyZWFkeVJlZ2lzdGVyZWRMYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBjb250aW51ZUxhdGVyQ29ubmVjdGVkTGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgdHJpZ2dlck9uUGFnZUNoYW5nZSA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZCgnbW9kYWxUcmlnZ2VyJylcbiAgICBtb2RhbFRyaWdnZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBAVmlld0NoaWxkKEZvZWhuRm9ybUNvbXBvbmVudClcbiAgICBmb3JtOiBGb2VobkZvcm1Db21wb25lbnQ7XG5cbiAgICBtb2RlbCA9IG5ldyBSZXByaXNlSW5mbygpO1xuICAgIG1haWxTZW50ID0gZmFsc2U7XG5cbiAgICBjYW5Db250aW51ZUxhdGVyOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGlzQ29ubmVjdGVkQ3liZXI6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgY3VycmVudEluZm9SZXByaXNlOiBPYnNlcnZhYmxlPFJlcHJpc2VJbmZvPjtcbiAgICBjdXJyZW50RXRhcGVJbmZvOiBPYnNlcnZhYmxlPEV0YXBlSW5mbz47XG4gICAgdHJpZ2dlckF1dG9tYXRpY2FsbHlTdWI6IFN1YnNjcmlwdGlvbjtcbiAgICBtb2RhbFRyaWdnZXJMYWJlbDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gICAgcHJpdmF0ZSBpc1Zpc2libGUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFjdGlvblJlY292ZXJ5U2VydmljZTogR2VzZGVtQWN0aW9uUmVjb3ZlcnlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHZhbGlkYXRpb25IYW5kbGVyOiBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZm9laG5QYWdlU2VydmljZTogRm9laG5QYWdlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1FdmVudFNlcnZpY2U6IEdlc2RlbUV2ZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1TZXJ2aWNlOiBHZXNkZW1IYW5kbGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBJbmZvU2VydmljZTogQXBwbGljYXRpb25JbmZvU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzZXNzaW9uSW5mb1NlcnZpY2U6IFNlc3Npb25JbmZvLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY3VycmVudEluZm9SZXByaXNlID0gbWVyZ2UoXG4gICAgICAgICAgICBvZih1bmRlZmluZWQpLFxuICAgICAgICAgICAgdGhpcy5nZXNkZW1FdmVudFNlcnZpY2UuZm9ybUluaXRpYWxpemF0aW9uT2JzZXJ2YWJsZSgpXG4gICAgICAgICkucGlwZShtYXAoKCkgPT4gdGhpcy5nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZT8ubWV0YT8uaW5mb1JlcHJpc2UpKTtcblxuICAgICAgICB0aGlzLmN1cnJlbnRFdGFwZUluZm8gPSB0aGlzLmFwcEluZm9TZXJ2aWNlLmN1cnJlbnRFdGFwZUluZm87XG4gICAgfVxuXG4gICAgZ2V0IGlzTW9kYWxWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1Zpc2libGU7XG4gICAgfVxuXG4gICAgZ2V0IHJlZmVyZW5jZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZT8ubWV0YT8ucmVmZXJlbmNlO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQ29ubmVjdGVkQ3liZXIgPSB0aGlzLnNlc3Npb25JbmZvU2VydmljZS5kYXRhLnBpcGUoXG4gICAgICAgICAgICBtYXAoc2Vzc2lvbkluZm8gPT4gISFzZXNzaW9uSW5mbyAmJiAhIXNlc3Npb25JbmZvLmNvbnRleHQpXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgaXNDb25uZWN0ZWRJYW1BY3YgPSB0aGlzLnNlc3Npb25JbmZvU2VydmljZS5kYXRhLnBpcGUoXG4gICAgICAgICAgICBtYXAoc2Vzc2lvbkluZm8gPT4gISFzZXNzaW9uSW5mbyAmJiAhc2Vzc2lvbkluZm8uY29udGV4dClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmNhbkNvbnRpbnVlTGF0ZXIgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEV0YXBlSW5mbyxcbiAgICAgICAgICAgIHRoaXMuaXNDb25uZWN0ZWRDeWJlcixcbiAgICAgICAgICAgIGlzQ29ubmVjdGVkSWFtQWN2XG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtjdXJyZW50RXRhcGVJbmZvLCBpc0Nvbm5lY3RlZEN5YmVyLCBjb25uZWN0ZWRJYW1BY3ZdKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuY2FuQ29udGludWVMYXRlckZvckV0YXBlKFxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50RXRhcGVJbmZvLFxuICAgICAgICAgICAgICAgICAgICBpc0Nvbm5lY3RlZEN5YmVyLFxuICAgICAgICAgICAgICAgICAgICBjb25uZWN0ZWRJYW1BY3ZcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5tb2RhbFRyaWdnZXJMYWJlbCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50SW5mb1JlcHJpc2UucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVwcmlzZUluZm8gPT4gISFyZXByaXNlSW5mbyksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRoaXMuaXNDb25uZWN0ZWRDeWJlclxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbaGFzSW5mb1JlcHJpc2UsIGlzQ29ubmVjdGVkQ3liZXJdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzQ29ubmVjdGVkQ3liZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGludWVMYXRlckNvbm5lY3RlZExhYmVsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaGFzSW5mb1JlcHJpc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGludWVMYXRlckFscmVhZHlSZWdpc3RlcmVkTGFiZWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnRpbnVlTGF0ZXJMYWJlbDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlck9uUGFnZUNoYW5nZSkge1xuICAgICAgICAgICAgbGV0IHJlY292ZXJ5U3VnZ2VzdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJBdXRvbWF0aWNhbGx5U3ViID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgdGhpcy5jYW5Db250aW51ZUxhdGVyLnBpcGUoZmlyc3QoKSksXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50SW5mb1JlcHJpc2UucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKHJlcHJpc2VJbmZvID0+ICEhcmVwcmlzZUluZm8pLFxuICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ29ubmVjdGVkQ3liZXIsXG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpXG4gICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICAgICAgXSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIChbY2FuQ29udGludWVMYXRlciwgaGFzSW5mb1JlcHJpc2UsIGlzQ29ubmVjdGVkQ3liZXJdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhc0JlZW5TYXZlZCA9ICEhdGhpcy5nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZT8ubWV0YVxuICAgICAgICAgICAgICAgICAgICAgICAgPy5yZWZlcmVuY2U7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbkNvbnRpbnVlTGF0ZXIgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFoYXNJbmZvUmVwcmlzZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzQmVlblNhdmVkICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhcmVjb3ZlcnlTdWdnZXN0ZWRcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSk7IC8vIHByZXZlbnQgbmF2aWdhdGlvbiB0byBuZXh0IHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3Blbk1vZGFsKGlzQ29ubmVjdGVkQ3liZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3ZlcnlTdWdnZXN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyaWdnZXJBdXRvbWF0aWNhbGx5U3ViPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHNhdmVBbmRPcGVuTW9kYWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2VzZGVtRXZlbnRTZXJ2aWNlXG4gICAgICAgICAgICAuZm9ybVNlbnRPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKHJlc3AgPT4gISFyZXNwLm1ldGEucmVmZXJlbmNlKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5pc0Nvbm5lY3RlZEN5YmVyKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICAgICAgLnN1YnNjcmliZShpc0Nvbm5lY3RlZEN5YmVyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5Nb2RhbChpc0Nvbm5lY3RlZEN5YmVyKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZm9laG5QYWdlU2VydmljZS5yZXF1ZXN0Rm9ybVNhdmUoKTtcbiAgICB9XG5cbiAgICBvcGVuTW9kYWwoaXNDb25uZWN0ZWRDeWJlcjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLm1haWxTZW50ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgaWYgKCFpc0Nvbm5lY3RlZEN5YmVyKSB7XG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGlvblJlY292ZXJ5U2VydmljZS5nZXREZWZhdWx0UmVjb3ZlcnlWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZlcmVuY2VcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudEluZm9SZXByaXNlXG4gICAgICAgICAgICBdKSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy1hbmd1bGFyL3ByZWZlci1hc3luYy1waXBlXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoW2RlZmF1bHRSZXByaXNlSW5mbywgY3VycmVudFJlcHJpc2VJbmZvXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGVsID0gY3VycmVudFJlcHJpc2VJbmZvIHx8IGRlZmF1bHRSZXByaXNlSW5mbztcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubW9kZWwgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmlzaWJpbGl0eVN0YXR1cyhmYWxzZSk7XG4gICAgfVxuXG4gICAgc2VuZEFuZENsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGlvblJlY292ZXJ5U2VydmljZVxuICAgICAgICAgICAgLnJlZ2lzdGVyRm9yUmVjb3ZlcnkodGhpcy5yZWZlcmVuY2UsIHRoaXMubW9kZWwpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoZm9ybVJlY292ZXJ5RXJyb3JzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbkhhbmRsZXIuc2hvdWxkRGlzcGxheUVycm9ycyh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uSGFuZGxlci51cGRhdGVFcnJvcnMoW1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZm9ybVJlY292ZXJ5RXJyb3JzLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5lcnJvcnNcbiAgICAgICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5mb2N1c0ZpcnN0SW5FcnJvcigpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZ2lzdHJhdGlvblN1Y2Nlc3NmdWxsID0gIWZvcm1SZWNvdmVyeUVycm9ycy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFpbFNlbnQgPSByZWdpc3RyYXRpb25TdWNjZXNzZnVsbDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAocmVnaXN0cmF0aW9uU3VjY2Vzc2Z1bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBmb3JtIGNvdWxkIGhhdmUgYmVlbiB1cGRhdGVkIGJ5IHRoZSBiYWNrZW5kIG9uIHJlY292ZXJ5IHJlZ2lzdHJhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXNkZW1TZXJ2aWNlLnJldHJpZXZlKHRoaXMucmVmZXJlbmNlKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy1hbmd1bGFyL3ByZWZlci1hc3luYy1waXBlXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlVmlzaWJpbGl0eVN0YXR1cyhzdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzIHZhbHVlIHRvIGhhbmRsZSB0cmFuc2l0aW9ucyBmcm9tIG9uZSBzdGF0ZSB0byBhbm90aGVyLlxuICAgICAgICBjb25zdCB3YXNPcGVuID0gdGhpcy5pc1Zpc2libGU7XG5cbiAgICAgICAgLy8gSW4gY2FzZSB0aGUgbW9kYWwgaXMgY2xvc2VkIGJ5IGFub3RoZXIgbWVhbi5cbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBzdGF0dXM7XG5cbiAgICAgICAgLy8gRm9jdXMgYmFjayBvbiB0aGUgdHJpZ2dlci4gTm8gbmVlZCBmb3IgYSBzZXRUaW1lb3V0IGFzIHRoZSB0cmlnZ2VyIHNob3VsZCBzdGlsbCBiZSBpbiB0aGUgRE9NLlxuICAgICAgICAvLyBPbmx5IGRvZXMgaXQgd2hlbiB0aGUgbW9kYWwgaXMgY2xvc2VkIGZyb20gYSBvcGVuIHN0YXRlIHRvIGF2b2lkIHRvIHNldFxuICAgICAgICAvLyB0aGUgZm9jdXMgd2hlbiB0aGUgcGFnZSBsb2Fkcy5cbiAgICAgICAgaWYgKHdhc09wZW4gJiYgIXRoaXMuaXNWaXNpYmxlICYmIHRoaXMubW9kYWxUcmlnZ2VyKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGFsVHJpZ2dlci5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbkNvbnRpbnVlTGF0ZXJGb3JFdGFwZShcbiAgICAgICAgY3VycmVudEV0YXBlSW5mbzogRXRhcGVJbmZvLFxuICAgICAgICBpc0Nvbm5lY3RlZEN5YmVyOiBib29sZWFuLFxuICAgICAgICBpc0Nvbm5lY3RlZElhbUFjdjogYm9vbGVhblxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoaXNDb25uZWN0ZWRJYW1BY3YpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIG5vdCBjb25uZWN0ZWQsIHRha2UgdGhlIFwicmVwcmlzZVBvc3NpYmxlXCIgZmxhZyBmcm9tIENhdFByZXN0XG4gICAgICAgIC8vIGludG8gYWNjb3VudC5cbiAgICAgICAgaWYgKCFpc0Nvbm5lY3RlZEN5YmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudEV0YXBlSW5mbyAmJiBjdXJyZW50RXRhcGVJbmZvLnJlcHJpc2VQb3NzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGNvbm5lY3RlZCwgb25seSBkaXNwbGF5IHRoZSBidXR0b24gaWYgdGhlIGN1cnJlbnQgc3RlcCBpZiB0aGUgaW5pdGlhbFxuICAgICAgICAvLyBzdGVwLlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgY3VycmVudEV0YXBlSW5mbyAmJlxuICAgICAgICAgICAgY3VycmVudEV0YXBlSW5mby5pZE1ldGllckV0YXBlID09PVxuICAgICAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8uaWRNZXRpZXJQcmVzdGF0aW9uXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGlkPVwiY29udGludWVMYXRlckJ1dHRvblwiXG4gICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHItMCBwbC0wIG5vLXRleHQtdHJhbnNmb3JtXCJcbiAgICAqbmdJZj1cImNhbkNvbnRpbnVlTGF0ZXIgfCBhc3luY1wiXG4gICAgW2lubmVySFRNTF09XCJtb2RhbFRyaWdnZXJMYWJlbCB8IGFzeW5jXCJcbiAgICAoY2xpY2spPVwic2F2ZUFuZE9wZW5Nb2RhbCgpXCJcbiAgICAjbW9kYWxUcmlnZ2VyXG4+PC9idXR0b24+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50SW5mb1JlcHJpc2UgfCBhc3luYyBhcyBjdXJyZW50SW5mb1wiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzbWFsbFwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY3VycmVudC1pbmZvLnByZXZpZXcnXG4gICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3ZlcnlNYWlsOiBjdXJyZW50SW5mby5lbWFpbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFJlZ2lzdHJhdGlvbjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdXJyZW50SW5mby5sYXN0VXBkYXRlIHwgZGlzcGxheURhdGUpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICBcIlxuICAgID48L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48Zm9laG4tbW9kYWxcbiAgICAqbmdJZj1cImN1cnJlbnRFdGFwZUluZm8gfCBhc3luYyBhcyBldGFwZUluZm9cIlxuICAgIGlkPVwiYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi1tb2RhbFwiXG4gICAgW21vZGFsU2l6ZV09XCIhKGlzQ29ubmVjdGVkQ3liZXIgfCBhc3luYykgPyAnbW9kYWwtbGcnIDogJ21vZGFsLW1kJ1wiXG4gICAgW21vZGFsSGVhZGVyVGV4dF09XCJcbiAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm1vZGFsSGVhZGVyVGV4dCcgfCBmcm9tRGljdGlvbmFyeVxuICAgIFwiXG4gICAgW2lzTW9kYWxWaXNpYmxlXT1cImlzTW9kYWxWaXNpYmxlXCJcbiAgICAoaXNNb2RhbFZpc2libGVDaGFuZ2UpPVwidXBkYXRlVmlzaWJpbGl0eVN0YXR1cygkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISEoaXNDb25uZWN0ZWRDeWJlciB8IGFzeW5jKVwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29ubmVjdGVkLmluZm8nXG4gICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgIFwiXG4gICAgICAgID48L3NwYW4+XG5cbiAgICAgICAgPGEgaHJlZj1cIi8xMDAwMDIvZGVtYW5kZXMvc2VhcmNoL01JTkUvSU5JVElBTFwiPlxuICAgICAgICAgICAgPGZvZWhuLWljb24tcGVuY2lsXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJoM1wiXG4gICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiXG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5jb25uZWN0ZWQuaW5mby5kcmFmdC1saW5rLXRleHQnXG4gICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L2ZvZWhuLWljb24tcGVuY2lsPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29ubmVjdGVkLmluZm8uZHJhZnQtbGluay10ZXh0J1xuICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShpc0Nvbm5lY3RlZEN5YmVyIHwgYXN5bmMpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgY3VycmVudEluZm9SZXByaXNlIHwgYXN5bmMgYXMgY3VycmVudEluZm87XG4gICAgICAgICAgICAgICAgZWxzZSBub0N1cnJlbnRJbmZvXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFtYWlsU2VudFwiXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQuY3VycmVudC1pbmZvJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RSZWdpc3RyYXRpb246XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdXJyZW50SW5mby5sYXN0VXBkYXRlIHwgZGlzcGxheURhdGUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpYzogZXRhcGVJbmZvLmRyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpYz8udG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm9cIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwibWFpbFNlbnRcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLmluZm8uc2VudCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvdmVyeU1haWw6IGN1cnJlbnRJbmZvLmVtYWlsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY292ZXJ5TW9iaWxlOiBjdXJyZW50SW5mby5tb2JpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhZnREZW1SZXRlbnRpb25EYXlzUHVibGljOiBldGFwZUluZm8uZHJhZnREZW1SZXRlbnRpb25EYXlzUHVibGljPy50b1N0cmluZygpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGZvZWhuLWZvcm0gKm5nSWY9XCIhbWFpbFNlbnRcIiBbc2hvdWxkRGlzcGxheUFsZXJ0U3VtbWFyeV09XCJmYWxzZVwiPlxuICAgICAgICAgICAgPGZvZWhuLWlucHV0LWVtYWlsXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5lbWFpbC5sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtoZWxwVGV4dF09XCJcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQuZW1haWwuaGVscC10ZXh0J1xuICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgWyhtb2RlbCldPVwibW9kZWwuZW1haWxcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgPjwvZm9laG4taW5wdXQtZW1haWw+XG5cbiAgICAgICAgICAgIDxmb2Vobi1pbnB1dC1waG9uZVxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLm5vdC1jb25uZWN0ZWQubW9iaWxlLmxhYmVsJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW2FjY2VwdEludGVybmF0aW9uYWxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2FjY2VwdE1vYmlsZVBob25lXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFthY2NlcHRQaG9uZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgWyhtb2RlbCldPVwibW9kZWwubW9iaWxlXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwibW9iaWxlXCJcbiAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICA+PC9mb2Vobi1pbnB1dC1waG9uZT5cblxuICAgICAgICAgICAgPGZvZWhuLWlucHV0LXRleHRcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLnJlZmVyZW5jZS1pbnRlcm5lLmxhYmVsJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW2hlbHBUZXh0XT1cIlxuICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5yZWZlcmVuY2UtaW50ZXJuZS5oZWxwLXRleHQnXG4gICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJtb2RlbC5yZWZlcmVuY2VJbnRlcm5lXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwicmVmZXJlbmNlSW50ZXJuZVwiXG4gICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgID48L2ZvZWhuLWlucHV0LXRleHQ+XG4gICAgICAgIDwvZm9laG4tZm9ybT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgbW9kYWwtZm9vdGVyIGNsYXNzPVwidy0xMDBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtbWQtZmxleFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1sLW1kLWF1dG8gbXItbWQtMiBtYi0yIG10LTJcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSB3LTEwMFwiXG4gICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY2FuY2VsLmJ1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhKGlzQ29ubmVjdGVkQ3liZXIgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtbWQtMCBtci1tZC0yIG1iLTIgbXQtMlwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbmRBbmRDbG9zZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3Mgdy0xMDBcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFtYWlsU2VudFwiXG4gICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uc2F2ZS5idXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZm9laG4tbW9kYWw+XG5cbjxuZy10ZW1wbGF0ZSAjbm9DdXJyZW50SW5mbz5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5ub3QtcmVnaXN0ZXJlZC5pbmZvJ1xuICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpYzogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEV0YXBlSW5mbyB8IGFzeW5jXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkuZHJhZnREZW1SZXRlbnRpb25EYXlzUHVibGljPy50b1N0cmluZygpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICBcIlxuICAgID48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -48,6 +48,8 @@ export const DEFAULT_DICTIONARY = {
48
48
  'foehn-navigation.previous.label': 'Précédent',
49
49
  'foehn-navigation.transmit.label': 'Transmettre',
50
50
  'foehn-navigation.continue-later.label': 'Envoyer un lien pour reprendre cette demande plus tard',
51
+ 'foehn-navigation.continue-later-already-registered.label': 'Modifier mes informations de reprise et envoyer un nouveau lien',
52
+ 'foehn-navigation.continue-later-connected.label': 'Finir la demande plus tard',
51
53
  'foehn-navigation.route.index.separator': 'sur',
52
54
  'foehn-page.browser-not-supported': 'Cette prestation n’est pas compatible avec votre navigateur.',
53
55
  'foehn-page.browser-download-invitation': 'Nous vous invitons à utiliser une version récente de',
@@ -239,4 +241,4 @@ export const DEFAULT_DICTIONARY = {
239
241
  'espace-securise.menu.item.deconnection.label': 'Se déconnecter',
240
242
  'espace-securise.menu.item.deconnection.title': 'Se déconnecter'
241
243
  };
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL3Nkay1kaWN0aW9uYXJ5L2RlZmF1bHQtZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBbUI7SUFDOUMsb0NBQW9DLEVBQ2hDLDhDQUE4QztJQUNsRCw2QkFBNkIsRUFDekIsNkRBQTZEO0lBQ2pFLG9DQUFvQyxFQUFFLFFBQVE7SUFDOUMsMkNBQTJDLEVBQ3ZDLHdDQUF3QztJQUM1QyxzQ0FBc0MsRUFBRSxXQUFXO0lBQ25ELHFDQUFxQyxFQUFFLGtDQUFrQztJQUN6RSw2Q0FBNkMsRUFBRSxzQkFBc0I7SUFDckUsNkNBQTZDLEVBQUUsaUJBQWlCO0lBQ2hFLDBDQUEwQyxFQUFFLFNBQVM7SUFDckQseUNBQXlDLEVBQ3JDLHlEQUF5RDtJQUM3RCxtQ0FBbUMsRUFDL0Isa0VBQWtFO0lBQ3RFLGtDQUFrQyxFQUM5QixpREFBaUQ7UUFDakQsaUdBQWlHO1FBQ2pHLHdFQUF3RTtJQUM1RSxzQ0FBc0MsRUFDbEMsOEVBQThFO1FBQzlFLG9EQUFvRDtJQUN4RCx3Q0FBd0MsRUFBRSxLQUFLO0lBQy9DLHVDQUF1QyxFQUFFLEtBQUs7SUFDOUMseUNBQXlDLEVBQ3JDLEVBQUU7UUFDRiwrR0FBK0c7UUFDL0csUUFBUTtRQUNSLGlHQUFpRztJQUNyRyxzQkFBc0IsRUFBRSxjQUFjO0lBQ3RDLGdDQUFnQyxFQUFFLHdCQUF3QjtJQUMxRCw0QkFBNEIsRUFBRSxNQUFNO0lBQ3BDLDhCQUE4QixFQUFFLE1BQU07SUFDdEMsNkJBQTZCLEVBQUUsT0FBTztJQUN0QywrQkFBK0IsRUFBRSxNQUFNO0lBQ3ZDLGlDQUFpQyxFQUM3QixpREFBaUQ7UUFDakQsaUZBQWlGO0lBQ3JGLDhCQUE4QixFQUFFLE9BQU87SUFDdkMsZ0NBQWdDLEVBQUUsU0FB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RSxjQUFjO0lBQ3pFLCtDQUErQyxFQUFFLGdCQUFnQjtJQUNqRSw4Q0FBOEMsRUFBRSxxQkFBcUI7SUFDckUsc0NBQXNDLEVBQUUsdUJBQXVCO0lBQy9ELHVCQUF1QixFQUFFLHFDQUFxQztJQUM5RCx5QkFBeUIsRUFBRSw2QkFBNkI7SUFDeEQseUNBQXlDLEVBQUUsU0FBUztJQUNwRCx5Q0FBeUMsRUFBRSxTQUFTO0lBQ3BELDZDQUE2QyxFQUFFLGFBQWE7SUFDNUQsNkNBQTZDLEVBQUUsYUFBYTtJQUM1RCxnREFBZ0QsRUFBRSxtQkFBbUI7SUFDckUsZ0RBQWdELEVBQUUsbUJBQW1CO0lBQ3JFLDZEQUE2RCxFQUN6RCw2Q0FBNkM7SUFDakQsNkRBQTZELEVBQ3pELDZDQUE2QztJQUNqRCx3REFBd0QsRUFDcEQsb0NBQW9DO0lBQ3hDLHdEQUF3RCxFQUNwRCxvQ0FBb0M7SUFDeEMsOENBQThDLEVBQUUsZ0JBQWdCO0lBQ2hFLDhDQUE4QyxFQUFFLGdCQUFnQjtDQUNuRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHsgRGljdGlvbmFyeVR5cGUgfSBmcm9tICcuL3Nkay1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9ESUNUSU9OQVJZOiBEaWN0aW9uYXJ5VHlwZSA9IHtcbiAgICAnZHJhZnQtY29udGFpbmVyLmJ1dHRvbi5zaG93LWRyYWZ0cyc6XG4gICAgICAgICdEZW1hbmRlcyBlbiBjb3VycyBkZSBzYWlzaWUgOiB7ZHJhZnRzTGVuZ3RofScsXG4gICAgJ2RyYWZ0LWNvbnRhaW5lci5tb2RhbC50aXRsZSc6XG4gICAgICAgICdJbCBleGlzdGUgZMOpasOgIHVuZSBvdSBwbHVzaWV1cnMgZGVtYW5kZXMgZW4gY291cnMgZGUgc2Fpc2llJyxcbiAgICAnZHJhZnQtY29udGFpbmVyLm1vZGFsLmNsb3NlLmJ1dHRvbic6ICdGZXJtZXInLFxuICAgICdkcmFmdC1jb250YWluZXIubW9kYWwuZHJhZnRzLWluLWVzLmJ1dHRvbic6XG4gICAgICAgICdUb3V0ZXMgbWVzIGRlbWFuZGVzIGVuIGNvdXJzIGRlIHNhaXNpZScsXG4gICAgJ2RyYWZ0LWNvbnRhaW5lci5saXN0LnJlZmVyZW5jZS5sYWJlbCc6ICdSw6lmw6lyZW5jZScsXG4gICAgJ2RyYWZ0LWNvbnRhaW5lci5saXN0LnJlZmVyZW5jZS5saW5rJzogJ1JlcHJlbmRyZSBsYSBkZW1hbmRlIHtyZWZlcmVuY2V9JyxcbiAgICAnZHJhZnQtY29udGFpbmVyLmxpc3QubW9kaWZpY2F0aW9uRGF0ZS5sYWJlbCc6ICdEYXRlIGRlIG1vZGlmaWNhdGlvbicsXG4gICAgJ2RyYWZ0LWNvbnRhaW5lci5saXN0LnJlZmVyZW5jZUludGVybmUubGFiZWwnOiAnVm90cmUgcsOpZsOpcmVuY2UnLFxuICAgICdkcmFmdC1jb250YWluZXIubGlzdC5kZXRhaWxzLWluLWVzLmxhYmVsJzogJ0TDqXRhaWxzJyxcbiAgICAnZHJhZnQtY29udGFpbmVyLmxpc3QuZGV0YWlscy1pbi1lcy5saW5rJzpcbiAgICAgICAgXCJDb25zdWx0ZXIgbGEgZGVtYW5kZSB7cmVmZXJlbmNlfSBkYW5zIGwnZXNwYWNlIHPDqWN1cmlzw6lcIixcbiAgICAnZm9laG4tZGVjaXNpb24tZWxlY3Ryb25pcXVlLnRpdGxlJzpcbiAgICAgICAgJ0F1dG9yaXNhdGlvbiBkZSBub3RpZmljYXRpb24gZGVzIGTDqWNpc2lvbnMgcGFyIHZvaWUgw6lsZWN0cm9uaXF1ZScsXG4gICAgJ2ZvZWhuLWRlY2lzaW9uLWVsZWN0cm9uaXF1ZS5pbmZvJzpcbiAgICAgICAgJ1ZvdHJlIGRlbWFuZGUgZXN0IHN1ciBsZSBwb2ludCBk4oCZw6p0cmUgZW52b3nDqWUuICcgK1xuICAgICAgICAnQ29uZm9ybcOpbWVudCDDoCBs4oCZYXJ0LiA0NGEgTFBBLVZELCBs4oCZYXV0b3JpdMOpIHBldXQgbm90aWZpZXIgc2VzIGTDqWNpc2lvbnMgcGFyIHZvaWUgw6lsZWN0cm9uaXF1ZSAnICtcbiAgICAgICAgJ2F1eCBwYXJ0aWVzIHF1aSBvbnQgZG9ubsOpIGxldXIgYWNjb3JkIGV4cGxpY2l0ZSDDoCBjZXR0ZSBjb21tdW5pY2F0aW9uLicsXG4gICAgJ2ZvZWhuLWRlY2lzaW9uLWVsZWN0cm9uaXF1ZS5xdWVzdGlvbic6XG4gICAgICAgICdBY2NlcHRlei12b3VzIHF1ZSBs4oCZYXV0b3JpdMOpIGNvbXDDqXRlbnRlIHBvdXIgbGUgdHJhaXRlbWVudCBkZSB2b3RyZSBkZW1hbmRlICcgK1xuICAgICAgICAndm91cyBub3RpZmllIHNlcyBkw6ljaXNpb25zIHBhciB2b2llIMOpbGVjdHJvbmlxdWUgPycsXG4gICAgJ2ZvZWhuLWRlY2lzaW9uLWVsZWN0cm9uaXF1ZS5hbnN3ZXIueWVzJzogJ091aScsXG4gICAgJ2ZvZWhuLWRlY2lzaW9uLWVsZWN0cm9uaXF1ZS5hbnN3ZXIubm8nOiAnTm9uJyxcbiAgICAnZm9laG4tZGVjaXNpb24tZWxlY3Ryb25pcXVlLmFuc3dlci5pbmZvJzpcbiAgICAgICAgJycgK1xuICAgICAgICAnU2kgdm91cyBjbGlxdWV6IHN1ciDCqyBPdWkgwrssIHZvdXMgYXV0b3Jpc2V6IGzigJlhdXRvcml0w6kgw6Agdm91cyBub3RpZmllciBzZXMgZMOpY2lzaW9ucyBzdXIgbGUgcG9ydGFpbCBzw6ljdXJpc8OpLicgK1xuICAgICAgICAnPGJyIC8+JyArXG4gICAgICAgICdTaSB2b3VzIGNsaXF1ZXogc3VyIMKrIE5vbiDCuywgdm91cyByZWZ1c2V6IGxhIG5vdGlmaWNhdGlvbiBkZSBkw6ljaXNpb25zIHN1ciBsZSBwb3J0YWlsIHPDqWN1cmlzw6kuJyxcbiAgICAnZm9laG4taW5wdXQub3B0aW9uYWwnOiAnKGZhY3VsdGF0aWYpJyxcbiAgICAnZm9laG4taW5wdXQuY2xlYXItYnV0dG9uLmxhYmVsJzogJ1LDqWluaXRpYWxpc2VyIGxlIGNoYW1wJyxcbiAgICAnZm9laG4taW5wdXQtZGF0ZS5kYXkubGFiZWwnOiAnSm91cicsXG4gICAgJ2ZvZWhuLWlucHV0LWRhdGUubW9udGgubGFiZWwnOiAnTW9pcycsXG4gICAgJ2ZvZWhuLWlucHV0LWRhdGUueWVhci5sYWJlbCc6ICdBbm7DqWUnLFxuICAgICdmb2Vobi1pbnB1dC1lbWFpbC5tb2RhbC50aXRsZSc6ICdBaWRlJyxcbiAgICAnZm9laG4taW5wdXQtZW1haWwubW9kYWwuY29udGVudCc6XG4gICAgICAgIFwiPHA+Vm91cyBuJ2Fycml2ZXogcGFzIMOgIHNhaXNpciB2b3RyZSBtYWlsID88L3A+XCIgK1xuICAgICAgICAnPHA+TWVyY2kgZFxcJ8OpY3JpcmUgw6AgPGEgaHJlZj1cIm1haWx0bzppbmZvLmN5YmVyQHZkLmNoXCI+aW5mby5jeWJlckB2ZC5jaDwvYT48L3A+JyxcbiAgICAnZm9laG4taW5wdXQtdGltZS5ob3Vycy5sYWJlbCc6ICdIZXVyZScsXG4gICAgJ2ZvZWhuLWlucHV0LXRpbWUubWludXRlcy5sYWJlbCc6ICdNaW51dGVzJyxcbiAgICAnZm9laG4taW5wdXQtbnVtYmVyLnN0YW5kYXJkLWhlbHAtdGV4dC5sYWJlbCc6XG4gICAgICAgICdTYWlzaXIgdW4gbm9tYnJlIGVudHJlIHttaW5WYWx1ZX0gZXQge21heFZhbHVlfScsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuY291bnRyeS5sYWJlbCc6ICdQYXlzJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5sb2NhbGl0eS5sYWJlbCc6ICdOUEEsIExvY2FsaXTDqScsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3Muc3RyZWV0LmhlbHAtdGV4dCc6ICdFeGVtcGxlIDogQXZlbnVlIGRlIGxhIFNhbGxheicsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3Muc3RyZWV0LmxhYmVsJzogJ1J1ZScsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuaG91c2VOdW1iZXIubGFiZWwnOiAnTnVtw6lybyBkZSBydWUnLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmhvdXNlTnVtYmVyLmhlbHAtdGV4dCc6XG4gICAgICAgIFwiRXhlbXBsZSA6IDQwIHBvdXIgdW5lIGFkcmVzc2Ugw6AgbCdBdmVudWUgZGUgbGEgU2FsbGF6IDQwXCIsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MucG9zdE9mZmljZUJveFRleHQubGFiZWwnOiAnQ2FzZSBwb3N0YWxlJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5wb3N0T2ZmaWNlQm94VGV4dC5oZWxwLXRleHQnOlxuICAgICAgICAnRXhlbXBsZSA6IENhc2UgcG9zdGFsZSAxMjIgb3UgQ1AxMjIgb3UgQ1AgMTIyJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5hZGRyZXNzTGluZTEubGFiZWwnOiAnYy9vJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5hZGRyZXNzTGluZTIubGFiZWwnOiBcIkNvbXBsw6ltZW50IGQnYWRyZXNzZVwiLFxuICAgICdmb2Vobi1pbnB1dC1mb3JlaWduLWxvY2FsaXR5LnppcENvZGUubGFiZWwnOiAnQ29kZSBwb3N0YWwnLFxuICAgICdmb2Vobi1pbnB1dC1mb3JlaWduLWxvY2FsaXR5LmxvY2FsaXR5LmxhYmVsJzogJ0xvY2FsaXTDqScsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24ubmV4dC5sYWJlbCc6ICdTdWl2YW50JyxcbiAgICAnZm9laG4tbmF2aWdhdGlvbi5wcmV2aW91cy5sYWJlbCc6ICdQcsOpY8OpZGVudCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24udHJhbnNtaXQubGFiZWwnOiAnVHJhbnNtZXR0cmUnLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLmNvbnRpbnVlLWxhdGVyLmxhYmVsJzpcbiAgICAgICAgJ0Vudm95ZXIgdW4gbGllbiBwb3VyIHJlcHJlbmRyZSBjZXR0ZSBkZW1hbmRlIHBsdXMgdGFyZCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24ucm91dGUuaW5kZXguc2VwYXJhdG9yJzogJ3N1cicsXG4gICAgJ2ZvZWhuLXBhZ2UuYnJvd3Nlci1ub3Qtc3VwcG9ydGVkJzpcbiAgICAgICAgJ0NldHRlIHByZXN0YXRpb24gbuKAmWVzdCBwYXMgY29tcGF0aWJsZSBhdmVjIHZvdHJlIG5hdmlnYXRldXIuJyxcbiAgICAnZm9laG4tcGFnZS5icm93c2VyLWRvd25sb2FkLWludml0YXRpb24nOlxuICAgICAgICAnTm91cyB2b3VzIGludml0b25zIMOgIHV0aWxpc2VyIHVuZSB2ZXJzaW9uIHLDqWNlbnRlIGRlJyxcbiAgICAnZm9laG4tcGFnZS5jb250aW51ZS13aXRoLXNhbWUtYnJvd3Nlcic6ICdDb250aW51ZXIgYXZlYyBjZSBuYXZpZ2F0ZXVyJyxcbiAgICAnZm9laG4tcGFnZS5icm93c2VyLWRvd25sb2FkLWxpc3Qub3UnOiAnb3UnLFxuICAgICdmb2Vobi1wYWdlLmV4dGVybmFsLWxpbmsuc3JPbmx5JzogJyhsaWVuIGV4dGVybmUpJyxcbiAgICAnZm9laG4tcGFnZS1jb3VudGVyLmxhYmVsJzogJ1BhZ2Uge2N1cnJlbnRQYWdlfSBkZSB7cGFnZUNvdW50fScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24udGl0bGUnOiAnQ29uZmlybWF0aW9uJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5zdWNjZXNzLWxhYmVsJzogJ0RlbWFuZGUgdHJhbnNtaXNlJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5uZXh0LXN0ZXAuc3VjY2Vzcy1sYWJlbCc6ICdSw6lwb25zZSB0cmFuc21pc2UnLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmFib3J0LWxhYmVsJzogJ0RlbWFuZGUgYWJhbmRvbm7DqWUnLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnJlZmVyZW5jZS10aXRsZS5sYWJlbCc6XG4gICAgICAgICdMZSBudW3DqXJvIGRlIHLDqWbDqXJlbmNlIGRlIHZvdHJlIGRlbWFuZGUgZXN0JyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5tYWlsLXNlbnQubGFiZWwnOlxuICAgICAgICAnVm91cyByZWNldnJleiB1biBlbWFpbCBkZSBjb25maXJtYXRpb24gZGFucyBxdWVscXVlcyBpbnN0YW50cy4nLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRvd25sb2FkLXBkZi1yZWNhcC1idXR0b24nOlxuICAgICAgICAnVMOpbMOpY2hhcmdlciBsYSBkZW1hbmRlIChwZGYpJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5leGl0LWJ1dHRvbic6ICdUZXJtaW5lcicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZXhpdC1idXR0b24tY29ubmVjdGVkJzogJ1NlIGTDqWNvbm5lY3RlcicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZXh0cmEtY29udGVudCc6ICcgJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi50cmFuc21pc3Npb24taW5mb3JtYXRpb24ubGFiZWwnOlxuICAgICAgICAnSW5mb3JtYXRpb24gc3VpdGUgw6AgbGEgdHJhbnNtaXNzaW9uIGRlIHZvdHJlIGRlbWFuZGUnLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRlbWFuZC1kZXRhaWwtbGluay5sYWJlbCc6XG4gICAgICAgICdWb3VzIHBvdXZleiBjb25zdWx0ZXIgdm90cmUgZGVtYW5kZSBlbiBjbGlxdWFudCBzdXIgOicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZGVtYW5kLXByb2Nlc3NpbmctcHJvZ3Jlc3MtbGluay5sYWJlbCc6XG4gICAgICAgIFwiVm91cyBwb3V2ZXogc3VpdnJlIGwnYXZhbmNlbWVudCBkdSB0cmFpdGVtZW50IGRlIHZvdHJlIGRlbWFuZGUgXCIgK1xuICAgICAgICAnZW4gY2xpcXVhbnQgc3VyIDonLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRlbWFuZC1pbi1wcm9ncmVzcy50aXRsZSc6ICdEZW1hbmRlIGVuIGNvdXJzJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZXN1bWUtbXktZGVtYW5kLmxhYmVsJzpcbiAgICAgICAgJ1ZvdXMgcG91dmV6IHJlcHJlbmRyZSB2b3RyZSBkZW1hbmRlIGVuIGNsaXF1YW50IHN1ciBsZSBsaWVuIGNpLWRlc3NvdXMnLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnJlc3VtZS1teS1kZW1hbmQuYnV0dG9uJzogJ1JlcHJlbmRyZSBtYSBkZW1hbmRlJyxcbiAgICAnZ2VzZGVtLmRvd25sb2FkLXBkZi5idXR0b24udGl0bGUnOiAnVMOpbMOpY2hhcmdlciBsZSBQREYnLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LWxvZ2luLnNhdmUubGFiZWwnOlxuICAgICAgICAnTGVzIGRvbm7DqWVzIGRlIHZvdHJlIGRlbWFuZGUgZW5yZWdpc3Ryw6llIGxlIHtkYXRlfSBvbnQgw6l0w6kgY2hhcmfDqWVzLicsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktbG9naW4uaW52YWxpZC1vdHAubGFiZWwnOlxuICAgICAgICBcIkxlIG1vdCBkZSBwYXNzZSBzYWlzaSBuJ2VzdCBwYXMgdmFsaWRlXCIsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktbG9naW4ucGFzc3dvcmQtZ2VuZXJhdGlvbi1mYWlsZWQubGFiZWwnOlxuICAgICAgICAnSW1wb3NzaWJsZSBkZSBnw6luw6lyZXIgdW4gbW90IGRlIHBhc3NlLCB2ZXVpbGxleiByw6llc3NheWVyIHBsdXMgdGFyZC4nLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LWxvZ2luLmV4cGlyZWQtc2Vzc2lvbi5sYWJlbCc6XG4gICAgICAgICdWb3RyZSBzZXNzaW9uIGEgZXhwaXLDqSwgdmV1aWxsZXogcmVjb21tZW5jZXIgdm90cmUgc2Fpc2llJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY3VycmVudC1pbmZvLnByZXZpZXcnOlxuICAgICAgICAnVW4gbGllbiBkZSByZXByaXNlIGEgw6l0w6kgZW52b3nDqSDDoCA8aT57cmVjb3ZlcnlNYWlsfTwvaT4gKHtsYXN0UmVnaXN0cmF0aW9ufSknLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLmN1cnJlbnQtaW5mbyc6XG4gICAgICAgICc8cD5VbiBsaWVuIGRlIHJlcHJpc2Ugdm91cyBhIMOpdMOpIGVudm95w6kgw6AgbGEgZGF0ZSBzdWl2YW50ZSA6IDxzdHJvbmc+e2xhc3RSZWdpc3RyYXRpb259PC9zdHJvbmc+PC9wPicgK1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICAnPHA+TGEgZGVtYW5kZSBwb3VycmEgw6p0cmUgcmVwcmlzZSBwZW5kYW50IDxzdHJvbmc+e2RyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpY30gam91cnM8L3N0cm9uZz4sIGVuc3VpdGUgZWxsZSBzZXJhIHN1cHByaW3DqWUgZMOpZmluaXRpdmVtZW50IGR1IHBvcnRhaWwuPC9wPicgK1xuICAgICAgICAnPHA+Vm91bGV6LXZvdXMgcmVudm95ZXIgdW4gbGllbiA/IDxici8+JyArXG4gICAgICAgIFwiVm91cyBwb3V2ZXogYXVzc2kgY2hhbmdlciBsJ2FkcmVzc2UgZGUgZGVzdGluYXRpb24gZXQgbGUgbnVtw6lybyBkZSBtb2JpbGUgcG91ciBsYSByZXByaXNlPC9wPlwiLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5tb2RhbEhlYWRlclRleHQnOlxuICAgICAgICAnSW5mb3JtYXRpb25zIHBvdXIgbGEgcmVwcmlzZSBkZSBsYSBkZW1hbmRlJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29ubmVjdGVkLmluZm8nOlxuICAgICAgICAnPHA+Vm9zIGRvbm7DqWVzIG9udCDDqXTDqSBzYXV2ZWdhcmTDqWVzLCB2b3VzIHBvdXZleiBhY2PDqWRlciDDoCBjZXR0ZSBkZW1hbmRlIGRhbnMgbGEgbGlzdGUgOicsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNvbm5lY3RlZC5pbmZvLmRyYWZ0LWxpbmstdGV4dCc6XG4gICAgICAgICdkZW1hbmRlcyBlbiBjb3VycyBkZSBzYWlzaWUnLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLm5vdC1yZWdpc3RlcmVkLmluZm8nOlxuICAgICAgICAnPHA+Vm91cyBhdmV6IGxhIHBvc3NpYmlsaXTDqSBkZSByZXByZW5kcmUgdm90cmUgZGVtYW5kZSBwbHVzIHRhcmQgZW4gY29tcGzDqXRhbnQgY2UgZm9ybXVsYWlyZS48L3A+JyArXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgICc8cD5MYSBkZW1hbmRlIHBvdXJyYSDDqnRyZSByZXByaXNlIHBlbmRhbnQgPHN0cm9uZz57ZHJhZnREZW1SZXRlbnRpb25EYXlzUHVibGljfSBqb3Vyczwvc3Ryb25nPiwgZW5zdWl0ZSBlbGxlIHNlcmEgc3VwcHJpbcOpZSBkw6lmaW5pdGl2ZW1lbnQgZHUgcG9ydGFpbC48L3A+JyArXG4gICAgICAgICc8cCBjbGFzcz1cInNtYWxsIG1iLTBcIj4nICtcbiAgICAgICAgXCI8aT5MZXMgaW5mb3JtYXRpb25zIGRlbWFuZMOpZXMgc29udCB1bmlxdWVtZW50IHV0aWxpc8OpZXMgcG91ciB2b3VzIHBlcm1ldHRyZSBkJ2VmZmVjdHVlciBsYSByZXByaXNlIGRlIGRlbWFuZGUuPC9pPlwiICtcbiAgICAgICAgJzwvcD4nLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLmluZm8uc2VudCc6XG4gICAgICAgIFwiPHA+VW4gbWVzc2FnZSBjb250ZW5hbnQgbGUgbGllbiBkZSByZXByaXNlIGRlIGxhIGRlbWFuZGUgYSDDqXTDqSBlbnZvecOpIMOgIGwnYWRyZXNzZSA8c3Ryb25nPntyZWNvdmVyeU1haWx9PC9zdHJvbmc+LjwvcD5cIiArXG4gICAgICAgICc8cD4nICtcbiAgICAgICAgJ1ZvdXMgcG91dmV6IGNsaXF1ZXIgc3VyIGNlIGxpZW4gcG91ciByZXByZW5kcmUgbGEgZGVtYW5kZSBlbiBzYWlzaXNzYW50IGxlIGNvZGUgcXVpIHNlcmEgZW52b3nDqSBhdSAnICtcbiAgICAgICAgJzxzdHJvbmc+e3JlY292ZXJ5TW9iaWxlfTwvc3Ryb25nPi4nICtcbiAgICAgICAgJzwvcD4nICtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgJzxwPkxhIGRlbWFuZGUgcG91cnJhIMOqdHJlIHJlcHJpc2UgcGVuZGFudCA8c3Ryb25nPntkcmFmdERlbVJldGVudGlvbkRheXNQdWJsaWN9IGpvdXJzPC9zdHJvbmc+LCBlbnN1aXRlIGVsbGUgc2VyYSBzdXBwcmltw6llIGTDqWZpbml0aXZlbWVudCBkdSBwb3J0YWlsLjwvcD4nLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLmVtYWlsLmxhYmVsJzogJ0VtYWlsJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5lbWFpbC5oZWxwLXRleHQnOlxuICAgICAgICAnUGFyIGV4ZW1wbGUsIGpvaG5AZG9lLmNoJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5tb2JpbGUubGFiZWwnOlxuICAgICAgICAnTnVtw6lybyBkZSB0w6lsw6lwaG9uZSBtb2JpbGUnLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLnJlZmVyZW5jZS1pbnRlcm5lLmxhYmVsJzpcbiAgICAgICAgJ1ZvdHJlIHLDqWbDqXJlbmNlJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5yZWZlcmVuY2UtaW50ZXJuZS5oZWxwLXRleHQnOlxuICAgICAgICAnVm90cmUgcsOpZsOpcmVuY2Ugc2VyYSB1dGlsaXPDqWUgY29tbWUgb2JqZXQgZHUgbWVzc2FnZSBxdWkgdm91cyBzZXJhIGVudm95w6kgZXQgdm91cyBwZXJtZXR0cmEgZGUgcmV0cm91dmVyIGZhY2lsZW1lbnQgY2UgbWVzc2FnZScsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNhbmNlbC5idXR0b24nOiAnRmVybWVyJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uc2F2ZS5idXR0b24nOiAnU2F1dmVnYXJkZXInLFxuICAgICdnZXNkZW0taGFuZGxlci5zYXZlLWNvbmZpcm1hdGlvbi5sYWJlbCc6XG4gICAgICAgICdWb3MgZG9ubsOpZXMgb250IMOpdMOpIHNhdXZlZ2FyZMOpZXMgZGFucyB2b3RyZSBlc3BhY2Ugc8OpY3VyaXPDqScsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLWJ1dHRvbi5pY29uLXRpdGxlJzogJ0FmZmljaGVyIGxlIGNhbGVuZHJpZXInLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci1idXR0b24uc2NyZWVuLXJlYWRlci5zZWxlY3RlZC1kYXRlJzpcbiAgICAgICAgJ0RhdGUgc8OpbGVjdGlvbm7DqWUgOiB7c2VsZWN0ZWREYXRlfScsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLmNvbnRhaW5lci5hcmlhLWxhYmVsJzogJ0NhbGVuZHJpZXInLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5jbG9zZS1idXR0b24uYXJpYS1sYWJlbCc6ICdGZXJtZXIgbGUgY2FsZW5kcmllcicsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLnByZXZpb3VzLW1vbnRoLWJ1dHRvbi50aXRsZSc6ICdNb2lzIHByw6ljw6lkZW50JyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIubmV4dC1tb250aC1idXR0b24udGl0bGUnOiAnTW9pcyBzdWl2YW50JyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuc2NyZWVuLXJlYWRlci5hY3R1YWwtbW9udGgtZGlzcGxheWVkJzpcbiAgICAgICAgJ01vaXMgYWN0dWVsbGVtZW50IGFmZmljaMOpIDonLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5zY3JlZW4tcmVhZGVyLm1vbnRoLWlucHV0LmxhYmVsJzogJ1PDqWxlY3Rpb25uZXIgdW4gbW9pcycsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLnNjcmVlbi1yZWFkZXIueWVhci1pbnB1dC5sYWJlbCc6XG4gICAgICAgICdTw6lsZWN0aW9ubmVyIHVuZSBhbm7DqWUnLFxuICAgICdlcnJvcnMuSU1BR0VfTk9UX1JFQURBQkxFJzpcbiAgICAgICAgXCJWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgbidlc3QgcGFzIHVuZSBpbWFnZSB2YWxpZGVcIixcbiAgICAnZXJyb3JzLkZJTEVOQU1FX1RPT19MT05HJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBhIHVuIG5vbSBkdSBmaWNoaWVyIHF1aSBleGPDqGRlIGxlIG1heGltdW0gYXV0b3Jpc8OpIDogJTIkcyBjYXJhY3TDqHJlcycsXG4gICAgJ2Vycm9ycy5GSUxFX1RPT19TTUFMTCc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgYSB1bmUgdGFpbGxlIGluZsOpcmlldXJlIGF1IG1pbmltdW0gZXhpZ8OpIDogJTIkcyBieXRlcycsXG4gICAgJ2Vycm9ycy5QREZfUEFTU1dPUkRfTE9DS0VEJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgdmVycm91aWxsw6llIHBhciB1biBtb3QgZGUgcGFzc2UnLFxuICAgICdlcnJvcnMuUERGX0NPTlRBSU5TX1NDUklQVCc6ICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgY29udGllbnQgdW4gc2NyaXB0JyxcbiAgICAnZXJyb3JzLlBERl9IQVNfQVRUQUNITUVOVFMnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGNvbnRpZW50IHVuIGZpY2hpZXIgYXR0YWNow6knLFxuICAgICdlcnJvcnMuRU1QVFlfUERGJzogJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgdmlkZScsXG4gICAgJ2Vycm9ycy5QREZfR0VORVJBTF9QUk9CTEVNJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgY29ycm9tcHVlIFs8YSBocmVmPVwiaHR0cHM6Ly93d3cudmQuY2gvcGFnZS8yMDIxNjc1L1wiIHRhcmdldD1cIl9ibGFua1wiPkFpZGU8L2E+XScsXG4gICAgJ2Vycm9ycy5QREZfSEFTX1JFU1RSSUNUSU9OUyc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IHByb3TDqWfDqWUuIFZldWlsbGV6IGVubGV2ZXIgdG91dGVzIGxlcyBwcm90ZWN0aW9ucyBhdmFudCBkZSBqb2luZHJlIGNlIGZpY2hpZXIuJyxcbiAgICAnZXJyb3JzLkZJTEVOQU1FX1NIT1VMRF9OT1RfQ09OVEFJTic6XG4gICAgICAgICdMZSBub20gZGUgdm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGNvbnRpZW50IGRlcyBjYXJhY3TDqHJlcyBpbnRlcmRpdHMuJyxcbiAgICAnZXJyb3JzLjQwNic6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgbmUgY29ycmVzcG9uZCBwYXMgYXUgdHlwZSBkZSBjb250ZW51IGF1dG9yaXPDqScsXG4gICAgJ2Vycm9ycy40MTMnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGEgdW5lIHRhaWxsZSBzdXDDqXJpZXVyZSBvdSDDqWdhbGUgw6AgbGEgbGltaXRlIGF1dG9yaXPDqWUgOiAlMiRzIE1vJyxcbiAgICAnZXJyb3JzLjQxNSc6XG4gICAgICAgICdMZSB0eXBlIGRlIHZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBuZSBmaWd1cmUgcGFzIHBhcm1pIGNldXggcXVpIHNvbnQgYXV0b3Jpc8OpcyA6IFwiJTIkc1wiJyxcbiAgICAnZXJyb3JzLjQyMic6ICdFY2hlYyBkZSBsYSBzYXV2ZWdhcmRlIGRlIGxhIHBpw6hjZSBqb2ludGUgJTEkcycsXG4gICAgJ2Vycm9ycy41MDAnOlxuICAgICAgICAnRWNoZWMgZGUgbGEgc2F1dmVnYXJkZSBkZSBsYSBwacOoY2Ugam9pbnRlICUxJHMuIFZldWlsbGV6IHLDqWVzc2F5ZXIgYXZlYyB1biBhdXRyZSBmaWNoaWVyLicsXG4gICAgJ2Vycm9ycy5zdW1tYXJ5LnRpdGxlJzogJ0lsIHkgYSB1biBwcm9ibMOobWUnLFxuICAgICdmb2Vobi11cGxvYWRlci5jaG9vc2UtYnV0dG9uLWxhYmVsJzogJ0Nob2lzaXNzZXogdW4gZG9jdW1lbnQnLFxuICAgICdmb2Vobi11cGxvYWRlci5jaG9vc2UtYnV0dG9uLWxhYmVsLW11bHRpcGxlJzpcbiAgICAgICAgJ0Nob2lzaXNzZXogdW4gb3UgcGx1c2lldXJzIGRvY3VtZW50cycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRyb3Atem9uZS1sYWJlbCc6ICdEw6lwb3NleiB1biBkb2N1bWVudCBvdSBjbGlxdWV6IGljaScsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRyb3Atem9uZS1sYWJlbC1tdWx0aXBsZSc6XG4gICAgICAgICdEw6lwb3NleiB1biBvdSBwbHVzaWV1cnMgZG9jdW1lbnRzIG91IGNsaXF1ZXogaWNpJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZGVsZXRlLWNvbmZpcm1hdGlvbi1tZXNzYWdlJzpcbiAgICAgICAgJ8OKdGVzLXZvdXMgc8O7ciBkZSB2b3Vsb2lyIHN1cHByaW1lciBjZSBmaWNoaWVyID8nLFxuICAgICdmb2Vobi11cGxvYWRlci5hYmJyLW1lZ2FvY3RldCc6ICdNbycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmFiYnItbWVnYW9jdGV0LXRpdGxlJzogJ01lZ2FvY3RldCcsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRlbGV0ZS1pY29uLXRpdGxlJzogJ1N1cHByaW1lciB7ZG9jTmFtZX0nLFxuICAgICdmb2Vobi11cGxvYWRlci5tYXgtdXBsb2FkLXNlbGVjdGlvbi1yZWFjaGVkJzpcbiAgICAgICAgJ1ZvdXMgbmUgcG91dmV6IHBhcyB0w6lsw6ljaGFyZ2VyIHBsdXMgZGUge21heFNlbGVjdGlvbn0gZmljaGllcnMgw6AgbGEgZm9pcy4nLFxuICAgICdmb2Vobi11cGxvYWRlci5tYXgtZmlsZXMtY291bnQtcmVhY2hlZCc6XG4gICAgICAgICdMZSBub21icmUgdG90YWwgZGUgZmljaGllcnMgdMOpbMOpY2hhcmfDqXMgbmUgZG9pdCBwYXMgZMOpcGFzc2VyIHttYXhGaWxlc0NvdW50fSBmaWNoaWVycy4nLFxuICAgICdmb2Vobi11cGxvYWRlci5tYXgtZmlsZXMtc2l6ZS1yZWFjaGVkJzpcbiAgICAgICAgJ0xhIHRhaWxsZSB0b3RhbGUgZGVzIGZpY2hpZXJzIHTDqWzDqWNoYXJnw6lzIG5lIGRvaXQgcGFzIGTDqXBhc3NlciB7bWF4RmlsZXNTaXplSW5Nb30gTWVnYW9jdGV0cyAoTW8pLicsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmZpbGVzLXNhdmVkLXN1Y2Nlc3MtbWVzc2FnZSc6XG4gICAgICAgICd7c3VjY2Vzc2Z1bERvY3VtZW50c0NvdW50fSBmaWNoaWVyKHMpIHNhdXZlZ2FyZMOpKHMpIGF2ZWMgc3VjY8OocycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLnRyYW5zbWlzc2lvbi1lcnJvci1tZXNzYWdlJzpcbiAgICAgICAgJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlIGxvcnMgZGUgbGEgdHJhbnNtaXNzaW9uIGRlIHZvcyBkb2N1bWVudHMnLFxuICAgICdmb2Vobi11cGxvYWRlci5maWxlcy1kZWxldGVkLXN1Y2Nlc3MtbWVzc2FnZSc6XG4gICAgICAgICdTdXBwcmVzc2lvbiBkdSBmaWNoaWVyIHtmaWxlbmFtZX0gcsOpdXNzaWUnLFxuICAgICdmb2Vobi11cGxvYWRlci5kZWxldGUtZXJyb3ItbWVzc2FnZSc6XG4gICAgICAgICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGRlIGxhIHN1cHByZXNzaW9uIGRlIHZvdHJlIGRvY3VtZW50JyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2hvb3NlLWJ1dHRvbi1sYWJlbCc6ICdDaG9pc2lzc2V6IHVuZSBwaG90bycsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctbGFiZWwnOiAnQ2hhcmdlbWVudC4uLicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmludmFsaWQtZmlsZS10eXBlJzpcbiAgICAgICAgJ0xlIHR5cGUgZGUgdm90cmUgcGnDqGNlIGpvaW50ZSB7ZmlsZW5hbWV9IG5lIGZpZ3VyZSBwYXMgcGFybWkgY2V1eCBxdWkgc29udCBhdXRvcmlzw6lzIDogXCJ7YWNjZXB0Rm9ybWF0c31cIicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctZmFpbHVyZS1sYWJlbCc6XG4gICAgICAgICdJbXBvc3NpYmxlIGRlIGNoYXJnZXIgbGEgcGhvdG8gc8OpbGVjdGlvbm7DqWUnLFxuICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC52YWxpZGF0ZS1zZWxlY3Rpb24tbGFiZWwnOiAnVmFsaWRlciBsYSBzw6lsZWN0aW9uJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2FuY2VsLXNlbGVjdGlvbi1sYWJlbCc6ICdBbm51bGVyJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuc2VsZWN0aW9uLW5vdC12YWxpZGF0ZWQtbGFiZWwnOlxuICAgICAgICAnTWVyY2kgZGUgdmFsaWRlciB2b3RyZSBzw6lsZWN0aW9uJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuZGVsZXRlLXBpY3R1cmUtbGFiZWwnOiAnU3VwcHJpbWVyJyxcbiAgICAnZm9laG4tc2VsZWN0Lm5vLXNlbGVjdGlvbi5sYWJlbCc6ICctJyxcbiAgICAnZm9laG4tdGFibGUudG90YWxFbGVtZW50cyc6ICd7dG90YWx9IMOpbMOpbWVudHMgdHJvdXbDqXMnLFxuICAgICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjEnOiAnMSDDqWzDqW1lbnQgdHJvdXbDqScsXG4gICAgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMuMCc6ICdBdWN1biByw6lzdWx0YXQnLFxuICAgICdmb2Vobi10YWJsZS5oZWFkZXIuYWN0aW9ucyc6ICdBY3Rpb25zJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMSc6ICdTYWlzaWUnLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAxLnNyT25seSc6ICdFdGFwZSAxIHN1ciAzLCBTYWlzaWUnLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAyJzogJ1bDqXJpZmljYXRpb24nLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAyLnNyT25seSc6ICdFdGFwZSAyIHN1ciAzLCBWw6lyaWZpY2F0aW9uJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMyc6ICdUcmFuc21pc3Npb24nLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAzLnNyT25seSc6XG4gICAgICAgICdFdGFwZSAzIHN1ciAzLCBEZW1hbmRlIHRyYW5zbWlzZScsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zZWxlY3RlZC5kZWxldGUnOlxuICAgICAgICAnU3VwcHJpbWVyIHtlbGVtZW50TGFiZWx9JyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNyLWFubm91bmNlbWVudC5kZWxldGVkJzpcbiAgICAgICAgJ3tlbGVtZW50TGFiZWx9IGEgw6l0w6kgc3VwcHJpbcOpLCcsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1hbm5vdW5jZW1lbnQuYWRkZWQnOlxuICAgICAgICAne2VsZW1lbnRMYWJlbH0gYSDDqXTDqSBham91dMOpLCcsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zZWxlY3RlZC1pdGVtcy1saXN0LWxlZ2VuZCc6XG4gICAgICAgICdFbMOpbWVudHMgc8OpbGVjdGlvbm7DqXMnLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItZGVmYXVsdC1mb2N1cy5uby1lbGVtZW50LXRvLWRlbGV0ZSc6XG4gICAgICAgICdBdWN1biDDqWzDqW1lbnQgc8OpbGVjdGlvbm7DqS4nLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItZGVmYXVsdC1zZWxlY3RlZC1lbGVtZW50JzpcbiAgICAgICAgJyhzw6lsZWN0aW9uIHBhciBkw6lmYXV0KScsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5hdXRvY29tcGxldGUuZW1wdHktbWVzc2FnZSc6XG4gICAgICAgICdUb3VzIGxlcyDDqWzDqW1lbnRzIGRlIGxhIGxpc3RlIGRlIHByb3Bvc2l0aW9uIG9udCBkw6lqw6Agw6l0w6kgYWpvdXTDqXMuJyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZS5zY3JlZW4tcmVhZGVyLmxhYmVsJzpcbiAgICAgICAgJ1PDqWxlY3Rpb25uZXIgdW4gw6lsw6ltZW50IGRhbnMgbGEgbGlzdGUgZGUgcmVjaGVyY2hlJyArXG4gICAgICAgIFwiIGNpLWRlc3NvdXMgcG91ciBsJ2Fqb3V0ZXIgw6Agdm90cmUgc8OpbGVjdGlvbi5cIixcbiAgICAnZm9laG4tYWdlbmRhLmNhbGVuZGFyLWluZGlzcG9uaWJsZSc6XG4gICAgICAgICdMZSBjYWxlbmRyaWVyIGRlcyByZW5kZXotdm91cyBlc3QgYWN0dWVsbGVtZW50IGluZGlzcG9uaWJsZS4nLFxuICAgICdmb2Vobi1hZ2VuZGEucGFnaW5hdGlvbi1hbmNob3IuZmlyc3QtcGFydCc6XG4gICAgICAgICdWb3VzIHBvdXZleiBjaGFuZ2VyIGRlIHNlbWFpbmUgYXUgbW95ZW4gZGUnLFxuICAgICdmb2Vobi1hZ2VuZGEucGFnaW5hdGlvbi1hbmNob3IudG9wLW5leHQtcGFydCc6ICdsYSBwYWdpbmF0aW9uIGNpLWRlc3NvdXMuJyxcbiAgICAnZm9laG4tYWdlbmRhLnBhZ2luYXRpb24tYW5jaG9yLmJvdHRvbS1uZXh0LXBhcnQnOlxuICAgICAgICAnbGEgcGFnaW5hdGlvbiBjaS1kZXNzdXMuJyxcbiAgICAnZm9laG4tYWdlbmRhLnRpbWVzbG90LnNlbGVjdGVkJzogJyBzw6lsZWN0aW9ubsOpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLm5vLWRpc3BvJzogJyhhdWN1bmUgZGlzcG9uaWJpbGl0w6kpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLm5ici1kaXNwbyc6ICd7bmJFbGVtZW50c30gZGlzcG9uaWJpbGl0w6lzJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNlbGVjdGVkLXRpbWUnOlxuICAgICAgICAne3RpbWVTZWxlY3RlZFZhbHVlfSBzw6lsZWN0aW9ubsOpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNob3ctbW9yZS1zci1vbmx5JzpcbiAgICAgICAgJ0FmZmljaGVyIGxlcyB7bmJyRWxlbWVudHNIaWRkZW59IGRpc3BvbmliaWxpdMOpcyBtYXNxdcOpZXMnLFxuICAgICdmb2Vobi5hZ2VuZGEtdGltZXNsb3QtcGFuZWwuc2hvdy1tb3JlJzpcbiAgICAgICAgJ0FmZmljaGVyIHBsdXMgKHtuYnJFbGVtZW50c0hpZGRlbn0pJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNob3ctbGVzcyc6ICdBZmZpY2hlciBtb2lucycsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLnByZXZpb3VzLXdlZWsnOiAnU2VtYWluZSBwcsOpY8OpZGVudGUnLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5wcmV2aW91cy13ZWVrLXNyLW9ubHknOlxuICAgICAgICAnU2VtYWluZSBwcsOpY8OpZGVudGUgOiB7cHJldmlvdXNXZWVrfScsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLm5leHQtd2Vlayc6ICdTZW1haW5lIHN1aXZhbnRlJyxcbiAgICAnZm9laG4tYWdlbmRhLW5hdmlnYXRpb24ubmV4dC13ZWVrLXNyLW9ubHknOlxuICAgICAgICAnU2VtYWluZSBzdWl2YW50ZSA6IHtuZXh0V2Vla30nLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5uYXYuYXJpYS1sYWJlbCc6ICdDaGFuZ2VyIGRlIHNlbWFpbmUnLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5kYXRlLXBpY2tlci1idXR0b24uc2NyZWVuLXJlYWRlci5zZWxlY3RlZC1kYXRlJzpcbiAgICAgICAgJ1NlbWFpbmUgZHUge3NlbGVjdGVkRGF0ZX0gc8OpbGVjdGlvbm7DqWUnLFxuICAgICdnZXNkZW0tZGVtYW5kLWRldGFpbCc6ICdEw6l0YWlsIGRlIGxhIGRlbWFuZGUge3JlZmVyZW5jZX0nLFxuICAgICdnZXNkZW0tZXJyb3IudGV4dC5oYXMtcmVmZXJlbmNlJzpcbiAgICAgICAgJ1ZvdXMgcG91dmV6IGVzc2F5ZXIgZGUgcmVwcmVuZHJlIHZvdHJlIGRlbWFuZGUgZW4gY2xpcXVhbnQgc3VyIGxlIGxpZW4gY2ktZGVzc291cycsXG4gICAgJ2dlc2RlbS1lcnJvci5saW5rLmhhcy1yZWZlcmVuY2UnOiAnUmVwcmVuZHJlIG1hIGRlbWFuZGUnLFxuICAgICdnZXNkZW0tZXJyb3IudGV4dC5oYXMtbm8tcmVmZXJlbmNlJzpcbiAgICAgICAgJ1ZvdXMgcG91dmV6IHJlY29tbWVuY2VyIHVuZSBkZW1hbmRlIGVuIGNsaXF1YW50IHN1ciBsZSBsaWVuIGNpLWRlc3NvdXMnLFxuICAgICdnZXNkZW0tZXJyb3IubGluay5oYXMtbm8tcmVmZXJlbmNlJzogJ1JlY29tbWVuY2VyJyxcbiAgICAnZ2VzZGVtLWVycm9yLnRleHQucGVuZGluZy1wYXltZW50JzpcbiAgICAgICAgJzxwPlVuIHByb2Jsw6htZSBlc3Qgc3VydmVudSBsb3JzIGRlIGxhIHRyYW5zbWlzc2lvbiBkZSB2b3RyZSBkZW1hbmRlLjwvcD4nICtcbiAgICAgICAgJzxwPjxzdHJvbmc+TWVyY2kgZGUgbmUgcGFzIHJlZmFpcmUgdW5lIG5vdXZlbGxlIGRlbWFuZGUgdG91dCBkZSBzdWl0ZS48L3N0cm9uZz48L3A+JyArXG4gICAgICAgIFwiPHA+U2FucyBjb25maXJtYXRpb24gZGUgbGEgdHJhbnNtaXNzaW9uIGRlIHZvdHJlIGRlbWFuZGUgZGFucyB1biBkw6lsYWkgZCd1biBqb3VyLCBcIiArXG4gICAgICAgICdub3VzIHZvdXMgcHJpb25zIGRlIDxhIGhyZWY9XCJ7c3VwcG9ydExpbmt9XCIgdGFyZ2V0PVwiX2JsYW5rXCI+Y29udGFjdGVyIGxlIHN1cHBvcnQ8L2E+LicsXG4gICAgJ2ZvZWhuLWRyb3Bkb3duLW1lbnUuYXJpYS1sYWJlbCc6ICdNZW51IGTDqXJvdWxhbnQnLFxuICAgICdmb2Vobi1tb2RhbC5idG4tY2xvc2UuYXJpYS1sYWJlbCc6ICdGZXJtZXIgbGEgYm9pdGUgZGUgZGlhbG9ndWUnLFxuICAgICdmb2Vobi1tb2RhbC5idG4tY2xvc2UudGl0bGUnOiAnRmVybWVyJyxcbiAgICAnZm9laG4tdGV4dGFyZWEuY2hhcnMtcmVtYWluaW5nLnBsdXJhbCc6XG4gICAgICAgICd7Y2hhckNvdW50TGVmdH0gY2FyYWN0w6hyZXMgcmVzdGFudHMnLFxuICAgICdmb2Vobi10ZXh0YXJlYS5jaGFycy1yZW1haW5pbmcuc2luZ3VsYXInOlxuICAgICAgICAne2NoYXJDb3VudExlZnR9IGNhcmFjdMOocmUgcmVzdGFudCcsXG4gICAgJ2ZvZWhuLXRleHRhcmVhLmNoYXJzLXJlbWFpbmluZy56ZXJvJzpcbiAgICAgICAgJ1ZvdXMgYXZleiBhdHRlaW50IGxlIG5vbWJyZSBkZSBjYXJhY3TDqHJlcyBhdXRvcmlzw6lzJyxcbiAgICAnZm9laG4tdGV4dGFyZWEuY2hhcnMtcmVtYWluaW5nLmV4Y2VlZGVkJzpcbiAgICAgICAgJ1ZvdXMgYXZleiBkw6lwYXNzw6kgbGUgbm9tYnJlIGRlIGNhcmFjdMOocmVzIGF1dG9yaXPDqXMgZGUge2NoYXJDb3VudExlZnR9JyxcbiAgICAnZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci50aXRsZSc6ICdUcmFpdGVtZW50IGRlIHZvdHJlIGVudm9pJyxcbiAgICAnZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci51cGxvYWQnOiAnRW5yZWdpc3RyZW1lbnQgZW4gY291cnMuLi4nLFxuICAgICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyLmdyb3VwLnVwbG9hZCc6XG4gICAgICAgICdMb3Qge3BhY2thZ2VJbmRleH0ve25iUGFja2FnZXN9IDogRW5yZWdpc3RyZW1lbnQgZW4gY291cnMuLi4nLFxuICAgICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyLmFuYWx5c2lzJzpcbiAgICAgICAgJ0FuYWx5c2UgZW4gY291cnMuLi4gTWVyY2kgZGUgcGF0aWVudGVyLicsXG4gICAgJ2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIuZ3JvdXAuYW5hbHlzaXMnOlxuICAgICAgICAnTG90IHtwYWNrYWdlSW5kZXh9L3tuYlBhY2thZ2VzfSA6IEFuYWx5c2UgZW4gY291cnMuLi4gTWVyY2kgZGUgcGF0aWVudGVyLicsXG4gICAgJ2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIuZ3JvdXAuaW5mbyc6XG4gICAgICAgICdMZSB0w6lsw6ljaGFyZ2VtZW50IHNlIGZhaXQgZW4gcGx1c2lldXJzIGxvdHMgZW4gZm9uY3Rpb24gZHUgbm9tYnJlIGRlIGZpY2hpZXJzIGNoYXJnw6lzJyxcbiAgICAnZXJyb3JzLk5vdE51bGwnOiAnQ2UgY2hhbXAgZG9pdCDDqnRyZSByZW1wbGknLFxuICAgICdmb2Vobi1oZWFkZXIubG9nby50aXRsZSc6XG4gICAgICAgIFwiQWxsZXIgw6AgbGEgcGFnZSBkJ2FjY3VlaWwgZHUgU2l0ZSBkdSBDYW50b24gZGUgVmF1ZFwiLFxuICAgICdmb2Vobi1oZWFkZXIuY3liZXItc2VjdXJlZC1hcmVhLmlkZW50aXR5LnNyT25seSc6ICdWb3RyZSBpZGVudGl0w6knLFxuICAgICdmb2Vobi1oZWFkZXIuY3liZXItc2VjdXJlZC1hcmVhLnRpdGxlJzogJ0VzcGFjZSBzw6ljdXJpc8OpOicsXG4gICAgJ2ZvZWhuLWhlYWRlci5jeWJlci1zZWN1cmVkLWFyZWEuY29ubmVjdGVkLXVzZXInOiAnUGVyc29ubmUgY29ubmVjdMOpZTonLFxuICAgICdmb2Vobi1oZWFkZXIuY3liZXItc2VjdXJlZC1hcmVhLmNvbm5lY3Rpb24uc3JPbmx5JzpcbiAgICAgICAgXCJDb25uZXhpb24gw6AgbCdlc3BhY2Ugc8OpY3VyaXPDqVwiLFxuICAgICdmb2Vobi1oZWFkZXIuY3liZXItc2VjdXJlZC1hcmVhLmNvbm5lY3Rpb24uYnV0dG9uLnRpdGxlJzogJ1NlIGNvbm5lY3RlcicsXG4gICAgJ2ZvZWhuLWhlYWRlci5pYW0tc2VjdXJlZC1hcmVhLmlkZW50aXR5LnNyT25seSc6ICdWb3RyZSBpZGVudGl0w6knLFxuICAgICdmb2Vobi1oZWFkZXIuaWFtLXNlY3VyZWQtYXJlYS5jb25uZWN0ZWQtdXNlcic6ICdQZXJzb25uZSBjb25uZWN0w6llOicsXG4gICAgJ2ZvZWhuLWhlYWRlci5pYW0tc2VjdXJlZC1hcmVhLmxvZ291dCc6IFwiUXVpdHRlciBsJ2FwcGxpY2F0aW9uXCIsXG4gICAgJ2ZvZWhuLXNraXAtbGluay50aXRsZSc6ICdbQWx0KzBdIETDqWJ1dCBkdSBjb250ZW51IGRlIGxhIHBhZ2UnLFxuICAgICdmb2Vobi1za2lwLWxpbmsuY29udGVudCc6ICdEw6lidXQgZHUgY29udGVudSBkZSBsYSBwYWdlJyxcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5hY2N1ZWlsLmxhYmVsJzogJ0FjY3VlaWwnLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLmFjY3VlaWwudGl0bGUnOiAnQWNjdWVpbCcsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0ucHJlZmVyZW5jZXMubGFiZWwnOiAnUHLDqWbDqXJlbmNlcycsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0ucHJlZmVyZW5jZXMudGl0bGUnOiAnUHLDqWbDqXJlbmNlcycsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0uZ2VzdGlvbi1jb21wdGUubGFiZWwnOiAnR2VzdGlvbiBkdSBjb21wdGUnLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLmdlc3Rpb24tY29tcHRlLnRpdGxlJzogJ0dlc3Rpb24gZHUgY29tcHRlJyxcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5vcGVyYXRpb25zLWxpZWVzLWVzcGFjZS1wcm8ubGFiZWwnOlxuICAgICAgICAnT3DDqXJhdGlvbnMgbGnDqWVzIGF1eCBlc3BhY2VzIHByb2Zlc3Npb25uZWxzJyxcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5vcGVyYXRpb25zLWxpZWVzLWVzcGFjZS1wcm8udGl0bGUnOlxuICAgICAgICAnT3DDqXJhdGlvbnMgbGnDqWVzIGF1eCBlc3BhY2VzIHByb2Zlc3Npb25uZWxzJyxcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5hZG1pbmlzdHJlci1lc3BhY2UtcHJvLmxhYmVsJzpcbiAgICAgICAgXCJBZG1pbmlzdHJlciBsJ2VzcGFjZSBwcm9mZXNzaW9ubmVsXCIsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0uYWRtaW5pc3RyZXItZXNwYWNlLXByby50aXRsZSc6XG4gICAgICAgIFwiQWRtaW5pc3RyZXIgbCdlc3BhY2UgcHJvZmVzc2lvbm5lbFwiLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLmRlY29ubmVjdGlvbi5sYWJlbCc6ICdTZSBkw6ljb25uZWN0ZXInLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLmRlY29ubmVjdGlvbi50aXRsZSc6ICdTZSBkw6ljb25uZWN0ZXInXG59O1xuIl19
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL3Nkay1kaWN0aW9uYXJ5L2RlZmF1bHQtZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBbUI7SUFDOUMsb0NBQW9DLEVBQ2hDLDhDQUE4QztJQUNsRCw2QkFBNkIsRUFDekIsNkRBQTZEO0lBQ2pFLG9DQUFvQyxFQUFFLFFBQVE7SUFDOUMsMkNBQTJDLEVBQ3ZDLHdDQUF3QztJQUM1QyxzQ0FBc0MsRUFBRSxXQUFXO0lBQ25ELHFDQUFxQyxFQUFFLGtDQUFrQztJQUN6RSw2Q0FBNkMsRUFBRSxzQkFBc0I7SUFDckUsNkNBQTZDLEVBQUUsaUJBQWlCO0lBQ2hFLDBDQUEwQyxFQUFFLFNBQVM7SUFDckQseUNBQXlDLEVBQ3JDLHlEQUF5RDtJQUM3RCxtQ0FBbUMsRUFDL0Isa0VBQWtFO0lBQ3RFLGtDQUFrQyxFQUM5QixpREFBaUQ7UUFDakQsaUdBQWlHO1FBQ2pHLHdFQUF3RTtJQUM1RSxzQ0FBc0MsRUFDbEMsOEVBQThFO1FBQzlFLG9EQUFvRDtJQUN4RCx3Q0FBd0MsRUFBRSxLQUFLO0lBQy9DLHVDQUF1QyxFQUFFLEtBQUs7SUFDOUMseUNBQXlDLEVBQ3JDLEVBQUU7UUFDRiwrR0FBK0c7UUFDL0csUUFBUTtRQUNSLGlHQUFpRztJQUNyRyxzQkFBc0IsRUFBRSxjQUFjO0lBQ3RDLGdDQUFnQyxFQUFFLHdCQUF3QjtJQUMxRCw0QkFBNEIsRUFBRSxNQUFNO0lBQ3BDLDhCQUE4QixFQUFFLE1BQU07SUFDdEMsNkJBQTZCLEVBQUUsT0FBTztJQUN0QywrQkFBK0IsRUFBRSxNQUFNO0lBQ3ZDLGlDQUFpQyxFQUM3QixpREFBaUQ7UUFDakQsaUZBQWlGO0lBQ3JGLDhCQUE4QixFQUFFLE9BQU87SUFDdkMsZ0NBQWdDLEVBQUUsU0FB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QUUscUJBQXFCO0lBQ3ZFLG1EQUFtRCxFQUMvQywrQkFBK0I7SUFDbkMseURBQXlELEVBQUUsY0FBYztJQUN6RSwrQ0FBK0MsRUFBRSxnQkFBZ0I7SUFDakUsOENBQThDLEVBQUUscUJBQXFCO0lBQ3JFLHNDQUFzQyxFQUFFLHVCQUF1QjtJQUMvRCx1QkFBdUIsRUFBRSxxQ0FBcUM7SUFDOUQseUJBQXlCLEVBQUUsNkJBQTZCO0lBQ3hELHlDQUF5QyxFQUFFLFNBQVM7SUFDcEQseUNBQXlDLEVBQUUsU0FBUztJQUNwRCw2Q0FBNkMsRUFBRSxhQUFhO0lBQzVELDZDQUE2QyxFQUFFLGFBQWE7SUFDNUQsZ0RBQWdELEVBQUUsbUJBQW1CO0lBQ3JFLGdEQUFnRCxFQUFFLG1CQUFtQjtJQUNyRSw2REFBNkQsRUFDekQsNkNBQTZDO0lBQ2pELDZEQUE2RCxFQUN6RCw2Q0FBNkM7SUFDakQsd0RBQXdELEVBQ3BELG9DQUFvQztJQUN4Qyx3REFBd0QsRUFDcEQsb0NBQW9DO0lBQ3hDLDhDQUE4QyxFQUFFLGdCQUFnQjtJQUNoRSw4Q0FBOEMsRUFBRSxnQkFBZ0I7Q0FDbkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7IERpY3Rpb25hcnlUeXBlIH0gZnJvbSAnLi9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRElDVElPTkFSWTogRGljdGlvbmFyeVR5cGUgPSB7XG4gICAgJ2RyYWZ0LWNvbnRhaW5lci5idXR0b24uc2hvdy1kcmFmdHMnOlxuICAgICAgICAnRGVtYW5kZXMgZW4gY291cnMgZGUgc2Fpc2llIDoge2RyYWZ0c0xlbmd0aH0nLFxuICAgICdkcmFmdC1jb250YWluZXIubW9kYWwudGl0bGUnOlxuICAgICAgICAnSWwgZXhpc3RlIGTDqWrDoCB1bmUgb3UgcGx1c2lldXJzIGRlbWFuZGVzIGVuIGNvdXJzIGRlIHNhaXNpZScsXG4gICAgJ2RyYWZ0LWNvbnRhaW5lci5tb2RhbC5jbG9zZS5idXR0b24nOiAnRmVybWVyJyxcbiAgICAnZHJhZnQtY29udGFpbmVyLm1vZGFsLmRyYWZ0cy1pbi1lcy5idXR0b24nOlxuICAgICAgICAnVG91dGVzIG1lcyBkZW1hbmRlcyBlbiBjb3VycyBkZSBzYWlzaWUnLFxuICAgICdkcmFmdC1jb250YWluZXIubGlzdC5yZWZlcmVuY2UubGFiZWwnOiAnUsOpZsOpcmVuY2UnLFxuICAgICdkcmFmdC1jb250YWluZXIubGlzdC5yZWZlcmVuY2UubGluayc6ICdSZXByZW5kcmUgbGEgZGVtYW5kZSB7cmVmZXJlbmNlfScsXG4gICAgJ2RyYWZ0LWNvbnRhaW5lci5saXN0Lm1vZGlmaWNhdGlvbkRhdGUubGFiZWwnOiAnRGF0ZSBkZSBtb2RpZmljYXRpb24nLFxuICAgICdkcmFmdC1jb250YWluZXIubGlzdC5yZWZlcmVuY2VJbnRlcm5lLmxhYmVsJzogJ1ZvdHJlIHLDqWbDqXJlbmNlJyxcbiAgICAnZHJhZnQtY29udGFpbmVyLmxpc3QuZGV0YWlscy1pbi1lcy5sYWJlbCc6ICdEw6l0YWlscycsXG4gICAgJ2RyYWZ0LWNvbnRhaW5lci5saXN0LmRldGFpbHMtaW4tZXMubGluayc6XG4gICAgICAgIFwiQ29uc3VsdGVyIGxhIGRlbWFuZGUge3JlZmVyZW5jZX0gZGFucyBsJ2VzcGFjZSBzw6ljdXJpc8OpXCIsXG4gICAgJ2ZvZWhuLWRlY2lzaW9uLWVsZWN0cm9uaXF1ZS50aXRsZSc6XG4gICAgICAgICdBdXRvcmlzYXRpb24gZGUgbm90aWZpY2F0aW9uIGRlcyBkw6ljaXNpb25zIHBhciB2b2llIMOpbGVjdHJvbmlxdWUnLFxuICAgICdmb2Vobi1kZWNpc2lvbi1lbGVjdHJvbmlxdWUuaW5mbyc6XG4gICAgICAgICdWb3RyZSBkZW1hbmRlIGVzdCBzdXIgbGUgcG9pbnQgZOKAmcOqdHJlIGVudm95w6llLiAnICtcbiAgICAgICAgJ0NvbmZvcm3DqW1lbnQgw6AgbOKAmWFydC4gNDRhIExQQS1WRCwgbOKAmWF1dG9yaXTDqSBwZXV0IG5vdGlmaWVyIHNlcyBkw6ljaXNpb25zIHBhciB2b2llIMOpbGVjdHJvbmlxdWUgJyArXG4gICAgICAgICdhdXggcGFydGllcyBxdWkgb250IGRvbm7DqSBsZXVyIGFjY29yZCBleHBsaWNpdGUgw6AgY2V0dGUgY29tbXVuaWNhdGlvbi4nLFxuICAgICdmb2Vobi1kZWNpc2lvbi1lbGVjdHJvbmlxdWUucXVlc3Rpb24nOlxuICAgICAgICAnQWNjZXB0ZXotdm91cyBxdWUgbOKAmWF1dG9yaXTDqSBjb21ww6l0ZW50ZSBwb3VyIGxlIHRyYWl0ZW1lbnQgZGUgdm90cmUgZGVtYW5kZSAnICtcbiAgICAgICAgJ3ZvdXMgbm90aWZpZSBzZXMgZMOpY2lzaW9ucyBwYXIgdm9pZSDDqWxlY3Ryb25pcXVlID8nLFxuICAgICdmb2Vobi1kZWNpc2lvbi1lbGVjdHJvbmlxdWUuYW5zd2VyLnllcyc6ICdPdWknLFxuICAgICdmb2Vobi1kZWNpc2lvbi1lbGVjdHJvbmlxdWUuYW5zd2VyLm5vJzogJ05vbicsXG4gICAgJ2ZvZWhuLWRlY2lzaW9uLWVsZWN0cm9uaXF1ZS5hbnN3ZXIuaW5mbyc6XG4gICAgICAgICcnICtcbiAgICAgICAgJ1NpIHZvdXMgY2xpcXVleiBzdXIgwqsgT3VpIMK7LCB2b3VzIGF1dG9yaXNleiBs4oCZYXV0b3JpdMOpIMOgIHZvdXMgbm90aWZpZXIgc2VzIGTDqWNpc2lvbnMgc3VyIGxlIHBvcnRhaWwgc8OpY3VyaXPDqS4nICtcbiAgICAgICAgJzxiciAvPicgK1xuICAgICAgICAnU2kgdm91cyBjbGlxdWV6IHN1ciDCqyBOb24gwrssIHZvdXMgcmVmdXNleiBsYSBub3RpZmljYXRpb24gZGUgZMOpY2lzaW9ucyBzdXIgbGUgcG9ydGFpbCBzw6ljdXJpc8OpLicsXG4gICAgJ2ZvZWhuLWlucHV0Lm9wdGlvbmFsJzogJyhmYWN1bHRhdGlmKScsXG4gICAgJ2ZvZWhuLWlucHV0LmNsZWFyLWJ1dHRvbi5sYWJlbCc6ICdSw6lpbml0aWFsaXNlciBsZSBjaGFtcCcsXG4gICAgJ2ZvZWhuLWlucHV0LWRhdGUuZGF5LmxhYmVsJzogJ0pvdXInLFxuICAgICdmb2Vobi1pbnB1dC1kYXRlLm1vbnRoLmxhYmVsJzogJ01vaXMnLFxuICAgICdmb2Vobi1pbnB1dC1kYXRlLnllYXIubGFiZWwnOiAnQW5uw6llJyxcbiAgICAnZm9laG4taW5wdXQtZW1haWwubW9kYWwudGl0bGUnOiAnQWlkZScsXG4gICAgJ2ZvZWhuLWlucHV0LWVtYWlsLm1vZGFsLmNvbnRlbnQnOlxuICAgICAgICBcIjxwPlZvdXMgbidhcnJpdmV6IHBhcyDDoCBzYWlzaXIgdm90cmUgbWFpbCA/PC9wPlwiICtcbiAgICAgICAgJzxwPk1lcmNpIGRcXCfDqWNyaXJlIMOgIDxhIGhyZWY9XCJtYWlsdG86aW5mby5jeWJlckB2ZC5jaFwiPmluZm8uY3liZXJAdmQuY2g8L2E+PC9wPicsXG4gICAgJ2ZvZWhuLWlucHV0LXRpbWUuaG91cnMubGFiZWwnOiAnSGV1cmUnLFxuICAgICdmb2Vobi1pbnB1dC10aW1lLm1pbnV0ZXMubGFiZWwnOiAnTWludXRlcycsXG4gICAgJ2ZvZWhuLWlucHV0LW51bWJlci5zdGFuZGFyZC1oZWxwLXRleHQubGFiZWwnOlxuICAgICAgICAnU2Fpc2lyIHVuIG5vbWJyZSBlbnRyZSB7bWluVmFsdWV9IGV0IHttYXhWYWx1ZX0nLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmNvdW50cnkubGFiZWwnOiAnUGF5cycsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MubG9jYWxpdHkubGFiZWwnOiAnTlBBLCBMb2NhbGl0w6knLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnN0cmVldC5oZWxwLXRleHQnOiAnRXhlbXBsZSA6IEF2ZW51ZSBkZSBsYSBTYWxsYXonLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnN0cmVldC5sYWJlbCc6ICdSdWUnLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmhvdXNlTnVtYmVyLmxhYmVsJzogJ051bcOpcm8gZGUgcnVlJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5ob3VzZU51bWJlci5oZWxwLXRleHQnOlxuICAgICAgICBcIkV4ZW1wbGUgOiA0MCBwb3VyIHVuZSBhZHJlc3NlIMOgIGwnQXZlbnVlIGRlIGxhIFNhbGxheiA0MFwiLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnBvc3RPZmZpY2VCb3hUZXh0LmxhYmVsJzogJ0Nhc2UgcG9zdGFsZScsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MucG9zdE9mZmljZUJveFRleHQuaGVscC10ZXh0JzpcbiAgICAgICAgJ0V4ZW1wbGUgOiBDYXNlIHBvc3RhbGUgMTIyIG91IENQMTIyIG91IENQIDEyMicsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuYWRkcmVzc0xpbmUxLmxhYmVsJzogJ2MvbycsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuYWRkcmVzc0xpbmUyLmxhYmVsJzogXCJDb21wbMOpbWVudCBkJ2FkcmVzc2VcIixcbiAgICAnZm9laG4taW5wdXQtZm9yZWlnbi1sb2NhbGl0eS56aXBDb2RlLmxhYmVsJzogJ0NvZGUgcG9zdGFsJyxcbiAgICAnZm9laG4taW5wdXQtZm9yZWlnbi1sb2NhbGl0eS5sb2NhbGl0eS5sYWJlbCc6ICdMb2NhbGl0w6knLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLm5leHQubGFiZWwnOiAnU3VpdmFudCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24ucHJldmlvdXMubGFiZWwnOiAnUHLDqWPDqWRlbnQnLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLnRyYW5zbWl0LmxhYmVsJzogJ1RyYW5zbWV0dHJlJyxcbiAgICAnZm9laG4tbmF2aWdhdGlvbi5jb250aW51ZS1sYXRlci5sYWJlbCc6XG4gICAgICAgICdFbnZveWVyIHVuIGxpZW4gcG91ciByZXByZW5kcmUgY2V0dGUgZGVtYW5kZSBwbHVzIHRhcmQnLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLmNvbnRpbnVlLWxhdGVyLWFscmVhZHktcmVnaXN0ZXJlZC5sYWJlbCc6XG4gICAgICAgICdNb2RpZmllciBtZXMgaW5mb3JtYXRpb25zIGRlIHJlcHJpc2UgZXQgZW52b3llciB1biBub3V2ZWF1IGxpZW4nLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLmNvbnRpbnVlLWxhdGVyLWNvbm5lY3RlZC5sYWJlbCc6XG4gICAgICAgICdGaW5pciBsYSBkZW1hbmRlIHBsdXMgdGFyZCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24ucm91dGUuaW5kZXguc2VwYXJhdG9yJzogJ3N1cicsXG4gICAgJ2ZvZWhuLXBhZ2UuYnJvd3Nlci1ub3Qtc3VwcG9ydGVkJzpcbiAgICAgICAgJ0NldHRlIHByZXN0YXRpb24gbuKAmWVzdCBwYXMgY29tcGF0aWJsZSBhdmVjIHZvdHJlIG5hdmlnYXRldXIuJyxcbiAgICAnZm9laG4tcGFnZS5icm93c2VyLWRvd25sb2FkLWludml0YXRpb24nOlxuICAgICAgICAnTm91cyB2b3VzIGludml0b25zIMOgIHV0aWxpc2VyIHVuZSB2ZXJzaW9uIHLDqWNlbnRlIGRlJyxcbiAgICAnZm9laG4tcGFnZS5jb250aW51ZS13aXRoLXNhbWUtYnJvd3Nlcic6ICdDb250aW51ZXIgYXZlYyBjZSBuYXZpZ2F0ZXVyJyxcbiAgICAnZm9laG4tcGFnZS5icm93c2VyLWRvd25sb2FkLWxpc3Qub3UnOiAnb3UnLFxuICAgICdmb2Vobi1wYWdlLmV4dGVybmFsLWxpbmsuc3JPbmx5JzogJyhsaWVuIGV4dGVybmUpJyxcbiAgICAnZm9laG4tcGFnZS1jb3VudGVyLmxhYmVsJzogJ1BhZ2Uge2N1cnJlbnRQYWdlfSBkZSB7cGFnZUNvdW50fScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24udGl0bGUnOiAnQ29uZmlybWF0aW9uJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5zdWNjZXNzLWxhYmVsJzogJ0RlbWFuZGUgdHJhbnNtaXNlJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5uZXh0LXN0ZXAuc3VjY2Vzcy1sYWJlbCc6ICdSw6lwb25zZSB0cmFuc21pc2UnLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmFib3J0LWxhYmVsJzogJ0RlbWFuZGUgYWJhbmRvbm7DqWUnLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnJlZmVyZW5jZS10aXRsZS5sYWJlbCc6XG4gICAgICAgICdMZSBudW3DqXJvIGRlIHLDqWbDqXJlbmNlIGRlIHZvdHJlIGRlbWFuZGUgZXN0JyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5tYWlsLXNlbnQubGFiZWwnOlxuICAgICAgICAnVm91cyByZWNldnJleiB1biBlbWFpbCBkZSBjb25maXJtYXRpb24gZGFucyBxdWVscXVlcyBpbnN0YW50cy4nLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRvd25sb2FkLXBkZi1yZWNhcC1idXR0b24nOlxuICAgICAgICAnVMOpbMOpY2hhcmdlciBsYSBkZW1hbmRlIChwZGYpJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5leGl0LWJ1dHRvbic6ICdUZXJtaW5lcicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZXhpdC1idXR0b24tY29ubmVjdGVkJzogJ1NlIGTDqWNvbm5lY3RlcicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZXh0cmEtY29udGVudCc6ICcgJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi50cmFuc21pc3Npb24taW5mb3JtYXRpb24ubGFiZWwnOlxuICAgICAgICAnSW5mb3JtYXRpb24gc3VpdGUgw6AgbGEgdHJhbnNtaXNzaW9uIGRlIHZvdHJlIGRlbWFuZGUnLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRlbWFuZC1kZXRhaWwtbGluay5sYWJlbCc6XG4gICAgICAgICdWb3VzIHBvdXZleiBjb25zdWx0ZXIgdm90cmUgZGVtYW5kZSBlbiBjbGlxdWFudCBzdXIgOicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZGVtYW5kLXByb2Nlc3NpbmctcHJvZ3Jlc3MtbGluay5sYWJlbCc6XG4gICAgICAgIFwiVm91cyBwb3V2ZXogc3VpdnJlIGwnYXZhbmNlbWVudCBkdSB0cmFpdGVtZW50IGRlIHZvdHJlIGRlbWFuZGUgXCIgK1xuICAgICAgICAnZW4gY2xpcXVhbnQgc3VyIDonLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmRlbWFuZC1pbi1wcm9ncmVzcy50aXRsZSc6ICdEZW1hbmRlIGVuIGNvdXJzJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZXN1bWUtbXktZGVtYW5kLmxhYmVsJzpcbiAgICAgICAgJ1ZvdXMgcG91dmV6IHJlcHJlbmRyZSB2b3RyZSBkZW1hbmRlIGVuIGNsaXF1YW50IHN1ciBsZSBsaWVuIGNpLWRlc3NvdXMnLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnJlc3VtZS1teS1kZW1hbmQuYnV0dG9uJzogJ1JlcHJlbmRyZSBtYSBkZW1hbmRlJyxcbiAgICAnZ2VzZGVtLmRvd25sb2FkLXBkZi5idXR0b24udGl0bGUnOiAnVMOpbMOpY2hhcmdlciBsZSBQREYnLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LWxvZ2luLnNhdmUubGFiZWwnOlxuICAgICAgICAnTGVzIGRvbm7DqWVzIGRlIHZvdHJlIGRlbWFuZGUgZW5yZWdpc3Ryw6llIGxlIHtkYXRlfSBvbnQgw6l0w6kgY2hhcmfDqWVzLicsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktbG9naW4uaW52YWxpZC1vdHAubGFiZWwnOlxuICAgICAgICBcIkxlIG1vdCBkZSBwYXNzZSBzYWlzaSBuJ2VzdCBwYXMgdmFsaWRlXCIsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktbG9naW4ucGFzc3dvcmQtZ2VuZXJhdGlvbi1mYWlsZWQubGFiZWwnOlxuICAgICAgICAnSW1wb3NzaWJsZSBkZSBnw6luw6lyZXIgdW4gbW90IGRlIHBhc3NlLCB2ZXVpbGxleiByw6llc3NheWVyIHBsdXMgdGFyZC4nLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LWxvZ2luLmV4cGlyZWQtc2Vzc2lvbi5sYWJlbCc6XG4gICAgICAgICdWb3RyZSBzZXNzaW9uIGEgZXhwaXLDqSwgdmV1aWxsZXogcmVjb21tZW5jZXIgdm90cmUgc2Fpc2llJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY3VycmVudC1pbmZvLnByZXZpZXcnOlxuICAgICAgICAnVW4gbGllbiBkZSByZXByaXNlIGEgw6l0w6kgZW52b3nDqSDDoCA8aT57cmVjb3ZlcnlNYWlsfTwvaT4gKHtsYXN0UmVnaXN0cmF0aW9ufSknLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLmN1cnJlbnQtaW5mbyc6XG4gICAgICAgICc8cD5VbiBsaWVuIGRlIHJlcHJpc2Ugdm91cyBhIMOpdMOpIGVudm95w6kgw6AgbGEgZGF0ZSBzdWl2YW50ZSA6IDxzdHJvbmc+e2xhc3RSZWdpc3RyYXRpb259PC9zdHJvbmc+PC9wPicgK1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICAnPHA+TGEgZGVtYW5kZSBwb3VycmEgw6p0cmUgcmVwcmlzZSBwZW5kYW50IDxzdHJvbmc+e2RyYWZ0RGVtUmV0ZW50aW9uRGF5c1B1YmxpY30gam91cnM8L3N0cm9uZz4sIGVuc3VpdGUgZWxsZSBzZXJhIHN1cHByaW3DqWUgZMOpZmluaXRpdmVtZW50IGR1IHBvcnRhaWwuPC9wPicgK1xuICAgICAgICAnPHA+Vm91bGV6LXZvdXMgcmVudm95ZXIgdW4gbGllbiA/IDxici8+JyArXG4gICAgICAgIFwiVm91cyBwb3V2ZXogYXVzc2kgY2hhbmdlciBsJ2FkcmVzc2UgZGUgZGVzdGluYXRpb24gZXQgbGUgbnVtw6lybyBkZSBtb2JpbGUgcG91ciBsYSByZXByaXNlPC9wPlwiLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5tb2RhbEhlYWRlclRleHQnOlxuICAgICAgICAnSW5mb3JtYXRpb25zIHBvdXIgbGEgcmVwcmlzZSBkZSBsYSBkZW1hbmRlJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uY29ubmVjdGVkLmluZm8nOlxuICAgICAgICAnPHA+Vm9zIGRvbm7DqWVzIG9udCDDqXTDqSBzYXV2ZWdhcmTDqWVzLCB2b3VzIHBvdXZleiBhY2PDqWRlciDDoCBjZXR0ZSBkZW1hbmRlIGRhbnMgbGEgbGlzdGUgOicsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNvbm5lY3RlZC5pbmZvLmRyYWZ0LWxpbmstdGV4dCc6XG4gICAgICAgICdkZW1hbmRlcyBlbiBjb3VycyBkZSBzYWlzaWUnLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLm5vdC1yZWdpc3RlcmVkLmluZm8nOlxuICAgICAgICAnPHA+Vm91cyBhdmV6IGxhIHBvc3NpYmlsaXTDqSBkZSByZXByZW5kcmUgdm90cmUgZGVtYW5kZSBwbHVzIHRhcmQgZW4gY29tcGzDqXRhbnQgY2UgZm9ybXVsYWlyZS48L3A+JyArXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgICc8cD5MYSBkZW1hbmRlIHBvdXJyYSDDqnRyZSByZXByaXNlIHBlbmRhbnQgPHN0cm9uZz57ZHJhZnREZW1SZXRlbnRpb25EYXlzUHVibGljfSBqb3Vyczwvc3Ryb25nPiwgZW5zdWl0ZSBlbGxlIHNlcmEgc3VwcHJpbcOpZSBkw6lmaW5pdGl2ZW1lbnQgZHUgcG9ydGFpbC48L3A+JyArXG4gICAgICAgICc8cCBjbGFzcz1cInNtYWxsIG1iLTBcIj4nICtcbiAgICAgICAgXCI8aT5MZXMgaW5mb3JtYXRpb25zIGRlbWFuZMOpZXMgc29udCB1bmlxdWVtZW50IHV0aWxpc8OpZXMgcG91ciB2b3VzIHBlcm1ldHRyZSBkJ2VmZmVjdHVlciBsYSByZXByaXNlIGRlIGRlbWFuZGUuPC9pPlwiICtcbiAgICAgICAgJzwvcD4nLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLmluZm8uc2VudCc6XG4gICAgICAgIFwiPHA+VW4gbWVzc2FnZSBjb250ZW5hbnQgbGUgbGllbiBkZSByZXByaXNlIGRlIGxhIGRlbWFuZGUgYSDDqXTDqSBlbnZvecOpIMOgIGwnYWRyZXNzZSA8c3Ryb25nPntyZWNvdmVyeU1haWx9PC9zdHJvbmc+LjwvcD5cIiArXG4gICAgICAgICc8cD4nICtcbiAgICAgICAgJ1ZvdXMgcG91dmV6IGNsaXF1ZXIgc3VyIGNlIGxpZW4gcG91ciByZXByZW5kcmUgbGEgZGVtYW5kZSBlbiBzYWlzaXNzYW50IGxlIGNvZGUgcXVpIHNlcmEgZW52b3nDqSBhdSAnICtcbiAgICAgICAgJzxzdHJvbmc+e3JlY292ZXJ5TW9iaWxlfTwvc3Ryb25nPi4nICtcbiAgICAgICAgJzwvcD4nICtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgJzxwPkxhIGRlbWFuZGUgcG91cnJhIMOqdHJlIHJlcHJpc2UgcGVuZGFudCA8c3Ryb25nPntkcmFmdERlbVJldGVudGlvbkRheXNQdWJsaWN9IGpvdXJzPC9zdHJvbmc+LCBlbnN1aXRlIGVsbGUgc2VyYSBzdXBwcmltw6llIGTDqWZpbml0aXZlbWVudCBkdSBwb3J0YWlsLjwvcD4nLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLmVtYWlsLmxhYmVsJzogJ0VtYWlsJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5lbWFpbC5oZWxwLXRleHQnOlxuICAgICAgICAnUGFyIGV4ZW1wbGUsIGpvaG5AZG9lLmNoJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5tb2JpbGUubGFiZWwnOlxuICAgICAgICAnTnVtw6lybyBkZSB0w6lsw6lwaG9uZSBtb2JpbGUnLFxuICAgICdnZXNkZW0tYWN0aW9uLXJlY292ZXJ5LXJlZ2lzdHJhdGlvbi5ub3QtY29ubmVjdGVkLnJlZmVyZW5jZS1pbnRlcm5lLmxhYmVsJzpcbiAgICAgICAgJ1ZvdHJlIHLDqWbDqXJlbmNlJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24ubm90LWNvbm5lY3RlZC5yZWZlcmVuY2UtaW50ZXJuZS5oZWxwLXRleHQnOlxuICAgICAgICAnVm90cmUgcsOpZsOpcmVuY2Ugc2VyYSB1dGlsaXPDqWUgY29tbWUgb2JqZXQgZHUgbWVzc2FnZSBxdWkgdm91cyBzZXJhIGVudm95w6kgZXQgdm91cyBwZXJtZXR0cmEgZGUgcmV0cm91dmVyIGZhY2lsZW1lbnQgY2UgbWVzc2FnZScsXG4gICAgJ2dlc2RlbS1hY3Rpb24tcmVjb3ZlcnktcmVnaXN0cmF0aW9uLmNhbmNlbC5idXR0b24nOiAnRmVybWVyJyxcbiAgICAnZ2VzZGVtLWFjdGlvbi1yZWNvdmVyeS1yZWdpc3RyYXRpb24uc2F2ZS5idXR0b24nOiAnU2F1dmVnYXJkZXInLFxuICAgICdnZXNkZW0taGFuZGxlci5zYXZlLWNvbmZpcm1hdGlvbi5sYWJlbCc6XG4gICAgICAgICdWb3MgZG9ubsOpZXMgb250IMOpdMOpIHNhdXZlZ2FyZMOpZXMgZGFucyB2b3RyZSBlc3BhY2Ugc8OpY3VyaXPDqScsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLWJ1dHRvbi5pY29uLXRpdGxlJzogJ0FmZmljaGVyIGxlIGNhbGVuZHJpZXInLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci1idXR0b24uc2NyZWVuLXJlYWRlci5zZWxlY3RlZC1kYXRlJzpcbiAgICAgICAgJ0RhdGUgc8OpbGVjdGlvbm7DqWUgOiB7c2VsZWN0ZWREYXRlfScsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLmNvbnRhaW5lci5hcmlhLWxhYmVsJzogJ0NhbGVuZHJpZXInLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5jbG9zZS1idXR0b24uYXJpYS1sYWJlbCc6ICdGZXJtZXIgbGUgY2FsZW5kcmllcicsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLnByZXZpb3VzLW1vbnRoLWJ1dHRvbi50aXRsZSc6ICdNb2lzIHByw6ljw6lkZW50JyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIubmV4dC1tb250aC1idXR0b24udGl0bGUnOiAnTW9pcyBzdWl2YW50JyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuc2NyZWVuLXJlYWRlci5hY3R1YWwtbW9udGgtZGlzcGxheWVkJzpcbiAgICAgICAgJ01vaXMgYWN0dWVsbGVtZW50IGFmZmljaMOpIDonLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5zY3JlZW4tcmVhZGVyLm1vbnRoLWlucHV0LmxhYmVsJzogJ1PDqWxlY3Rpb25uZXIgdW4gbW9pcycsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLnNjcmVlbi1yZWFkZXIueWVhci1pbnB1dC5sYWJlbCc6XG4gICAgICAgICdTw6lsZWN0aW9ubmVyIHVuZSBhbm7DqWUnLFxuICAgICdlcnJvcnMuSU1BR0VfTk9UX1JFQURBQkxFJzpcbiAgICAgICAgXCJWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgbidlc3QgcGFzIHVuZSBpbWFnZSB2YWxpZGVcIixcbiAgICAnZXJyb3JzLkZJTEVOQU1FX1RPT19MT05HJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBhIHVuIG5vbSBkdSBmaWNoaWVyIHF1aSBleGPDqGRlIGxlIG1heGltdW0gYXV0b3Jpc8OpIDogJTIkcyBjYXJhY3TDqHJlcycsXG4gICAgJ2Vycm9ycy5GSUxFX1RPT19TTUFMTCc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgYSB1bmUgdGFpbGxlIGluZsOpcmlldXJlIGF1IG1pbmltdW0gZXhpZ8OpIDogJTIkcyBieXRlcycsXG4gICAgJ2Vycm9ycy5QREZfUEFTU1dPUkRfTE9DS0VEJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgdmVycm91aWxsw6llIHBhciB1biBtb3QgZGUgcGFzc2UnLFxuICAgICdlcnJvcnMuUERGX0NPTlRBSU5TX1NDUklQVCc6ICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgY29udGllbnQgdW4gc2NyaXB0JyxcbiAgICAnZXJyb3JzLlBERl9IQVNfQVRUQUNITUVOVFMnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGNvbnRpZW50IHVuIGZpY2hpZXIgYXR0YWNow6knLFxuICAgICdlcnJvcnMuRU1QVFlfUERGJzogJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgdmlkZScsXG4gICAgJ2Vycm9ycy5QREZfR0VORVJBTF9QUk9CTEVNJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBlc3QgY29ycm9tcHVlIFs8YSBocmVmPVwiaHR0cHM6Ly93d3cudmQuY2gvcGFnZS8yMDIxNjc1L1wiIHRhcmdldD1cIl9ibGFua1wiPkFpZGU8L2E+XScsXG4gICAgJ2Vycm9ycy5QREZfSEFTX1JFU1RSSUNUSU9OUyc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IHByb3TDqWfDqWUuIFZldWlsbGV6IGVubGV2ZXIgdG91dGVzIGxlcyBwcm90ZWN0aW9ucyBhdmFudCBkZSBqb2luZHJlIGNlIGZpY2hpZXIuJyxcbiAgICAnZXJyb3JzLkZJTEVOQU1FX1NIT1VMRF9OT1RfQ09OVEFJTic6XG4gICAgICAgICdMZSBub20gZGUgdm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGNvbnRpZW50IGRlcyBjYXJhY3TDqHJlcyBpbnRlcmRpdHMuJyxcbiAgICAnZXJyb3JzLjQwNic6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgbmUgY29ycmVzcG9uZCBwYXMgYXUgdHlwZSBkZSBjb250ZW51IGF1dG9yaXPDqScsXG4gICAgJ2Vycm9ycy40MTMnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGEgdW5lIHRhaWxsZSBzdXDDqXJpZXVyZSBvdSDDqWdhbGUgw6AgbGEgbGltaXRlIGF1dG9yaXPDqWUgOiAlMiRzIE1vJyxcbiAgICAnZXJyb3JzLjQxNSc6XG4gICAgICAgICdMZSB0eXBlIGRlIHZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBuZSBmaWd1cmUgcGFzIHBhcm1pIGNldXggcXVpIHNvbnQgYXV0b3Jpc8OpcyA6IFwiJTIkc1wiJyxcbiAgICAnZXJyb3JzLjQyMic6ICdFY2hlYyBkZSBsYSBzYXV2ZWdhcmRlIGRlIGxhIHBpw6hjZSBqb2ludGUgJTEkcycsXG4gICAgJ2Vycm9ycy41MDAnOlxuICAgICAgICAnRWNoZWMgZGUgbGEgc2F1dmVnYXJkZSBkZSBsYSBwacOoY2Ugam9pbnRlICUxJHMuIFZldWlsbGV6IHLDqWVzc2F5ZXIgYXZlYyB1biBhdXRyZSBmaWNoaWVyLicsXG4gICAgJ2Vycm9ycy5zdW1tYXJ5LnRpdGxlJzogJ0lsIHkgYSB1biBwcm9ibMOobWUnLFxuICAgICdmb2Vobi11cGxvYWRlci5jaG9vc2UtYnV0dG9uLWxhYmVsJzogJ0Nob2lzaXNzZXogdW4gZG9jdW1lbnQnLFxuICAgICdmb2Vobi11cGxvYWRlci5jaG9vc2UtYnV0dG9uLWxhYmVsLW11bHRpcGxlJzpcbiAgICAgICAgJ0Nob2lzaXNzZXogdW4gb3UgcGx1c2lldXJzIGRvY3VtZW50cycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRyb3Atem9uZS1sYWJlbCc6ICdEw6lwb3NleiB1biBkb2N1bWVudCBvdSBjbGlxdWV6IGljaScsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRyb3Atem9uZS1sYWJlbC1tdWx0aXBsZSc6XG4gICAgICAgICdEw6lwb3NleiB1biBvdSBwbHVzaWV1cnMgZG9jdW1lbnRzIG91IGNsaXF1ZXogaWNpJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZGVsZXRlLWNvbmZpcm1hdGlvbi1tZXNzYWdlJzpcbiAgICAgICAgJ8OKdGVzLXZvdXMgc8O7ciBkZSB2b3Vsb2lyIHN1cHByaW1lciBjZSBmaWNoaWVyID8nLFxuICAgICdmb2Vobi11cGxvYWRlci5hYmJyLW1lZ2FvY3RldCc6ICdNbycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmFiYnItbWVnYW9jdGV0LXRpdGxlJzogJ01lZ2FvY3RldCcsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRlbGV0ZS1pY29uLXRpdGxlJzogJ1N1cHByaW1lciB7ZG9jTmFtZX0nLFxuICAgICdmb2Vobi11cGxvYWRlci5tYXgtdXBsb2FkLXNlbGVjdGlvbi1yZWFjaGVkJzpcbiAgICAgICAgJ1ZvdXMgbmUgcG91dmV6IHBhcyB0w6lsw6ljaGFyZ2VyIHBsdXMgZGUge21heFNlbGVjdGlvbn0gZmljaGllcnMgw6AgbGEgZm9pcy4nLFxuICAgICdmb2Vobi11cGxvYWRlci5tYXgtZmlsZXMtY291bnQtcmVhY2hlZCc6XG4gICAgICAgICdMZSBub21icmUgdG90YWwgZGUgZmljaGllcnMgdMOpbMOpY2hhcmfDqXMgbmUgZG9pdCBwYXMgZMOpcGFzc2VyIHttYXhGaWxlc0NvdW50fSBmaWNoaWVycy4nLFxuICAgICdmb2Vobi11cGxvYWRlci5tYXgtZmlsZXMtc2l6ZS1yZWFjaGVkJzpcbiAgICAgICAgJ0xhIHRhaWxsZSB0b3RhbGUgZGVzIGZpY2hpZXJzIHTDqWzDqWNoYXJnw6lzIG5lIGRvaXQgcGFzIGTDqXBhc3NlciB7bWF4RmlsZXNTaXplSW5Nb30gTWVnYW9jdGV0cyAoTW8pLicsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmZpbGVzLXNhdmVkLXN1Y2Nlc3MtbWVzc2FnZSc6XG4gICAgICAgICd7c3VjY2Vzc2Z1bERvY3VtZW50c0NvdW50fSBmaWNoaWVyKHMpIHNhdXZlZ2FyZMOpKHMpIGF2ZWMgc3VjY8OocycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLnRyYW5zbWlzc2lvbi1lcnJvci1tZXNzYWdlJzpcbiAgICAgICAgJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlIGxvcnMgZGUgbGEgdHJhbnNtaXNzaW9uIGRlIHZvcyBkb2N1bWVudHMnLFxuICAgICdmb2Vobi11cGxvYWRlci5maWxlcy1kZWxldGVkLXN1Y2Nlc3MtbWVzc2FnZSc6XG4gICAgICAgICdTdXBwcmVzc2lvbiBkdSBmaWNoaWVyIHtmaWxlbmFtZX0gcsOpdXNzaWUnLFxuICAgICdmb2Vobi11cGxvYWRlci5kZWxldGUtZXJyb3ItbWVzc2FnZSc6XG4gICAgICAgICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBsb3JzIGRlIGxhIHN1cHByZXNzaW9uIGRlIHZvdHJlIGRvY3VtZW50JyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2hvb3NlLWJ1dHRvbi1sYWJlbCc6ICdDaG9pc2lzc2V6IHVuZSBwaG90bycsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctbGFiZWwnOiAnQ2hhcmdlbWVudC4uLicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmludmFsaWQtZmlsZS10eXBlJzpcbiAgICAgICAgJ0xlIHR5cGUgZGUgdm90cmUgcGnDqGNlIGpvaW50ZSB7ZmlsZW5hbWV9IG5lIGZpZ3VyZSBwYXMgcGFybWkgY2V1eCBxdWkgc29udCBhdXRvcmlzw6lzIDogXCJ7YWNjZXB0Rm9ybWF0c31cIicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmxvYWRpbmctZmFpbHVyZS1sYWJlbCc6XG4gICAgICAgICdJbXBvc3NpYmxlIGRlIGNoYXJnZXIgbGEgcGhvdG8gc8OpbGVjdGlvbm7DqWUnLFxuICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC52YWxpZGF0ZS1zZWxlY3Rpb24tbGFiZWwnOiAnVmFsaWRlciBsYSBzw6lsZWN0aW9uJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuY2FuY2VsLXNlbGVjdGlvbi1sYWJlbCc6ICdBbm51bGVyJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuc2VsZWN0aW9uLW5vdC12YWxpZGF0ZWQtbGFiZWwnOlxuICAgICAgICAnTWVyY2kgZGUgdmFsaWRlciB2b3RyZSBzw6lsZWN0aW9uJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQuZGVsZXRlLXBpY3R1cmUtbGFiZWwnOiAnU3VwcHJpbWVyJyxcbiAgICAnZm9laG4tc2VsZWN0Lm5vLXNlbGVjdGlvbi5sYWJlbCc6ICctJyxcbiAgICAnZm9laG4tdGFibGUudG90YWxFbGVtZW50cyc6ICd7dG90YWx9IMOpbMOpbWVudHMgdHJvdXbDqXMnLFxuICAgICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjEnOiAnMSDDqWzDqW1lbnQgdHJvdXbDqScsXG4gICAgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMuMCc6ICdBdWN1biByw6lzdWx0YXQnLFxuICAgICdmb2Vobi10YWJsZS5oZWFkZXIuYWN0aW9ucyc6ICdBY3Rpb25zJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMSc6ICdTYWlzaWUnLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAxLnNyT25seSc6ICdFdGFwZSAxIHN1ciAzLCBTYWlzaWUnLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAyJzogJ1bDqXJpZmljYXRpb24nLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAyLnNyT25seSc6ICdFdGFwZSAyIHN1ciAzLCBWw6lyaWZpY2F0aW9uJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMyc6ICdUcmFuc21pc3Npb24nLFxuICAgICdmb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyLnN0ZXAzLnNyT25seSc6XG4gICAgICAgICdFdGFwZSAzIHN1ciAzLCBEZW1hbmRlIHRyYW5zbWlzZScsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zZWxlY3RlZC5kZWxldGUnOlxuICAgICAgICAnU3VwcHJpbWVyIHtlbGVtZW50TGFiZWx9JyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLnNyLWFubm91bmNlbWVudC5kZWxldGVkJzpcbiAgICAgICAgJ3tlbGVtZW50TGFiZWx9IGEgw6l0w6kgc3VwcHJpbcOpLCcsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1hbm5vdW5jZW1lbnQuYWRkZWQnOlxuICAgICAgICAne2VsZW1lbnRMYWJlbH0gYSDDqXTDqSBham91dMOpLCcsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zZWxlY3RlZC1pdGVtcy1saXN0LWxlZ2VuZCc6XG4gICAgICAgICdFbMOpbWVudHMgc8OpbGVjdGlvbm7DqXMnLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItZGVmYXVsdC1mb2N1cy5uby1lbGVtZW50LXRvLWRlbGV0ZSc6XG4gICAgICAgICdBdWN1biDDqWzDqW1lbnQgc8OpbGVjdGlvbm7DqS4nLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItZGVmYXVsdC1zZWxlY3RlZC1lbGVtZW50JzpcbiAgICAgICAgJyhzw6lsZWN0aW9uIHBhciBkw6lmYXV0KScsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5hdXRvY29tcGxldGUuZW1wdHktbWVzc2FnZSc6XG4gICAgICAgICdUb3VzIGxlcyDDqWzDqW1lbnRzIGRlIGxhIGxpc3RlIGRlIHByb3Bvc2l0aW9uIG9udCBkw6lqw6Agw6l0w6kgYWpvdXTDqXMuJyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZS5zY3JlZW4tcmVhZGVyLmxhYmVsJzpcbiAgICAgICAgJ1PDqWxlY3Rpb25uZXIgdW4gw6lsw6ltZW50IGRhbnMgbGEgbGlzdGUgZGUgcmVjaGVyY2hlJyArXG4gICAgICAgIFwiIGNpLWRlc3NvdXMgcG91ciBsJ2Fqb3V0ZXIgw6Agdm90cmUgc8OpbGVjdGlvbi5cIixcbiAgICAnZm9laG4tYWdlbmRhLmNhbGVuZGFyLWluZGlzcG9uaWJsZSc6XG4gICAgICAgICdMZSBjYWxlbmRyaWVyIGRlcyByZW5kZXotdm91cyBlc3QgYWN0dWVsbGVtZW50IGluZGlzcG9uaWJsZS4nLFxuICAgICdmb2Vobi1hZ2VuZGEucGFnaW5hdGlvbi1hbmNob3IuZmlyc3QtcGFydCc6XG4gICAgICAgICdWb3VzIHBvdXZleiBjaGFuZ2VyIGRlIHNlbWFpbmUgYXUgbW95ZW4gZGUnLFxuICAgICdmb2Vobi1hZ2VuZGEucGFnaW5hdGlvbi1hbmNob3IudG9wLW5leHQtcGFydCc6ICdsYSBwYWdpbmF0aW9uIGNpLWRlc3NvdXMuJyxcbiAgICAnZm9laG4tYWdlbmRhLnBhZ2luYXRpb24tYW5jaG9yLmJvdHRvbS1uZXh0LXBhcnQnOlxuICAgICAgICAnbGEgcGFnaW5hdGlvbiBjaS1kZXNzdXMuJyxcbiAgICAnZm9laG4tYWdlbmRhLnRpbWVzbG90LnNlbGVjdGVkJzogJyBzw6lsZWN0aW9ubsOpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLm5vLWRpc3BvJzogJyhhdWN1bmUgZGlzcG9uaWJpbGl0w6kpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLm5ici1kaXNwbyc6ICd7bmJFbGVtZW50c30gZGlzcG9uaWJpbGl0w6lzJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNlbGVjdGVkLXRpbWUnOlxuICAgICAgICAne3RpbWVTZWxlY3RlZFZhbHVlfSBzw6lsZWN0aW9ubsOpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNob3ctbW9yZS1zci1vbmx5JzpcbiAgICAgICAgJ0FmZmljaGVyIGxlcyB7bmJyRWxlbWVudHNIaWRkZW59IGRpc3BvbmliaWxpdMOpcyBtYXNxdcOpZXMnLFxuICAgICdmb2Vobi5hZ2VuZGEtdGltZXNsb3QtcGFuZWwuc2hvdy1tb3JlJzpcbiAgICAgICAgJ0FmZmljaGVyIHBsdXMgKHtuYnJFbGVtZW50c0hpZGRlbn0pJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNob3ctbGVzcyc6ICdBZmZpY2hlciBtb2lucycsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLnByZXZpb3VzLXdlZWsnOiAnU2VtYWluZSBwcsOpY8OpZGVudGUnLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5wcmV2aW91cy13ZWVrLXNyLW9ubHknOlxuICAgICAgICAnU2VtYWluZSBwcsOpY8OpZGVudGUgOiB7cHJldmlvdXNXZWVrfScsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLm5leHQtd2Vlayc6ICdTZW1haW5lIHN1aXZhbnRlJyxcbiAgICAnZm9laG4tYWdlbmRhLW5hdmlnYXRpb24ubmV4dC13ZWVrLXNyLW9ubHknOlxuICAgICAgICAnU2VtYWluZSBzdWl2YW50ZSA6IHtuZXh0V2Vla30nLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5uYXYuYXJpYS1sYWJlbCc6ICdDaGFuZ2VyIGRlIHNlbWFpbmUnLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5kYXRlLXBpY2tlci1idXR0b24uc2NyZWVuLXJlYWRlci5zZWxlY3RlZC1kYXRlJzpcbiAgICAgICAgJ1NlbWFpbmUgZHUge3NlbGVjdGVkRGF0ZX0gc8OpbGVjdGlvbm7DqWUnLFxuICAgICdnZXNkZW0tZGVtYW5kLWRldGFpbCc6ICdEw6l0YWlsIGRlIGxhIGRlbWFuZGUge3JlZmVyZW5jZX0nLFxuICAgICdnZXNkZW0tZXJyb3IudGV4dC5oYXMtcmVmZXJlbmNlJzpcbiAgICAgICAgJ1ZvdXMgcG91dmV6IGVzc2F5ZXIgZGUgcmVwcmVuZHJlIHZvdHJlIGRlbWFuZGUgZW4gY2xpcXVhbnQgc3VyIGxlIGxpZW4gY2ktZGVzc291cycsXG4gICAgJ2dlc2RlbS1lcnJvci5saW5rLmhhcy1yZWZlcmVuY2UnOiAnUmVwcmVuZHJlIG1hIGRlbWFuZGUnLFxuICAgICdnZXNkZW0tZXJyb3IudGV4dC5oYXMtbm8tcmVmZXJlbmNlJzpcbiAgICAgICAgJ1ZvdXMgcG91dmV6IHJlY29tbWVuY2VyIHVuZSBkZW1hbmRlIGVuIGNsaXF1YW50IHN1ciBsZSBsaWVuIGNpLWRlc3NvdXMnLFxuICAgICdnZXNkZW0tZXJyb3IubGluay5oYXMtbm8tcmVmZXJlbmNlJzogJ1JlY29tbWVuY2VyJyxcbiAgICAnZ2VzZGVtLWVycm9yLnRleHQucGVuZGluZy1wYXltZW50JzpcbiAgICAgICAgJzxwPlVuIHByb2Jsw6htZSBlc3Qgc3VydmVudSBsb3JzIGRlIGxhIHRyYW5zbWlzc2lvbiBkZSB2b3RyZSBkZW1hbmRlLjwvcD4nICtcbiAgICAgICAgJzxwPjxzdHJvbmc+TWVyY2kgZGUgbmUgcGFzIHJlZmFpcmUgdW5lIG5vdXZlbGxlIGRlbWFuZGUgdG91dCBkZSBzdWl0ZS48L3N0cm9uZz48L3A+JyArXG4gICAgICAgIFwiPHA+U2FucyBjb25maXJtYXRpb24gZGUgbGEgdHJhbnNtaXNzaW9uIGRlIHZvdHJlIGRlbWFuZGUgZGFucyB1biBkw6lsYWkgZCd1biBqb3VyLCBcIiArXG4gICAgICAgICdub3VzIHZvdXMgcHJpb25zIGRlIDxhIGhyZWY9XCJ7c3VwcG9ydExpbmt9XCIgdGFyZ2V0PVwiX2JsYW5rXCI+Y29udGFjdGVyIGxlIHN1cHBvcnQ8L2E+LicsXG4gICAgJ2ZvZWhuLWRyb3Bkb3duLW1lbnUuYXJpYS1sYWJlbCc6ICdNZW51IGTDqXJvdWxhbnQnLFxuICAgICdmb2Vobi1tb2RhbC5idG4tY2xvc2UuYXJpYS1sYWJlbCc6ICdGZXJtZXIgbGEgYm9pdGUgZGUgZGlhbG9ndWUnLFxuICAgICdmb2Vobi1tb2RhbC5idG4tY2xvc2UudGl0bGUnOiAnRmVybWVyJyxcbiAgICAnZm9laG4tdGV4dGFyZWEuY2hhcnMtcmVtYWluaW5nLnBsdXJhbCc6XG4gICAgICAgICd7Y2hhckNvdW50TGVmdH0gY2FyYWN0w6hyZXMgcmVzdGFudHMnLFxuICAgICdmb2Vobi10ZXh0YXJlYS5jaGFycy1yZW1haW5pbmcuc2luZ3VsYXInOlxuICAgICAgICAne2NoYXJDb3VudExlZnR9IGNhcmFjdMOocmUgcmVzdGFudCcsXG4gICAgJ2ZvZWhuLXRleHRhcmVhLmNoYXJzLXJlbWFpbmluZy56ZXJvJzpcbiAgICAgICAgJ1ZvdXMgYXZleiBhdHRlaW50IGxlIG5vbWJyZSBkZSBjYXJhY3TDqHJlcyBhdXRvcmlzw6lzJyxcbiAgICAnZm9laG4tdGV4dGFyZWEuY2hhcnMtcmVtYWluaW5nLmV4Y2VlZGVkJzpcbiAgICAgICAgJ1ZvdXMgYXZleiBkw6lwYXNzw6kgbGUgbm9tYnJlIGRlIGNhcmFjdMOocmVzIGF1dG9yaXPDqXMgZGUge2NoYXJDb3VudExlZnR9JyxcbiAgICAnZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci50aXRsZSc6ICdUcmFpdGVtZW50IGRlIHZvdHJlIGVudm9pJyxcbiAgICAnZm9laG4tdXBsb2FkLXByb2dyZXNzLWJhci51cGxvYWQnOiAnRW5yZWdpc3RyZW1lbnQgZW4gY291cnMuLi4nLFxuICAgICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyLmdyb3VwLnVwbG9hZCc6XG4gICAgICAgICdMb3Qge3BhY2thZ2VJbmRleH0ve25iUGFja2FnZXN9IDogRW5yZWdpc3RyZW1lbnQgZW4gY291cnMuLi4nLFxuICAgICdmb2Vobi11cGxvYWQtcHJvZ3Jlc3MtYmFyLmFuYWx5c2lzJzpcbiAgICAgICAgJ0FuYWx5c2UgZW4gY291cnMuLi4gTWVyY2kgZGUgcGF0aWVudGVyLicsXG4gICAgJ2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIuZ3JvdXAuYW5hbHlzaXMnOlxuICAgICAgICAnTG90IHtwYWNrYWdlSW5kZXh9L3tuYlBhY2thZ2VzfSA6IEFuYWx5c2UgZW4gY291cnMuLi4gTWVyY2kgZGUgcGF0aWVudGVyLicsXG4gICAgJ2ZvZWhuLXVwbG9hZC1wcm9ncmVzcy1iYXIuZ3JvdXAuaW5mbyc6XG4gICAgICAgICdMZSB0w6lsw6ljaGFyZ2VtZW50IHNlIGZhaXQgZW4gcGx1c2lldXJzIGxvdHMgZW4gZm9uY3Rpb24gZHUgbm9tYnJlIGRlIGZpY2hpZXJzIGNoYXJnw6lzJyxcbiAgICAnZXJyb3JzLk5vdE51bGwnOiAnQ2UgY2hhbXAgZG9pdCDDqnRyZSByZW1wbGknLFxuICAgICdmb2Vobi1oZWFkZXIubG9nby50aXRsZSc6XG4gICAgICAgIFwiQWxsZXIgw6AgbGEgcGFnZSBkJ2FjY3VlaWwgZHUgU2l0ZSBkdSBDYW50b24gZGUgVmF1ZFwiLFxuICAgICdmb2Vobi1oZWFkZXIuY3liZXItc2VjdXJlZC1hcmVhLmlkZW50aXR5LnNyT25seSc6ICdWb3RyZSBpZGVudGl0w6knLFxuICAgICdmb2Vobi1oZWFkZXIuY3liZXItc2VjdXJlZC1hcmVhLnRpdGxlJzogJ0VzcGFjZSBzw6ljdXJpc8OpOicsXG4gICAgJ2ZvZWhuLWhlYWRlci5jeWJlci1zZWN1cmVkLWFyZWEuY29ubmVjdGVkLXVzZXInOiAnUGVyc29ubmUgY29ubmVjdMOpZTonLFxuICAgICdmb2Vobi1oZWFkZXIuY3liZXItc2VjdXJlZC1hcmVhLmNvbm5lY3Rpb24uc3JPbmx5JzpcbiAgICAgICAgXCJDb25uZXhpb24gw6AgbCdlc3BhY2Ugc8OpY3VyaXPDqVwiLFxuICAgICdmb2Vobi1oZWFkZXIuY3liZXItc2VjdXJlZC1hcmVhLmNvbm5lY3Rpb24uYnV0dG9uLnRpdGxlJzogJ1NlIGNvbm5lY3RlcicsXG4gICAgJ2ZvZWhuLWhlYWRlci5pYW0tc2VjdXJlZC1hcmVhLmlkZW50aXR5LnNyT25seSc6ICdWb3RyZSBpZGVudGl0w6knLFxuICAgICdmb2Vobi1oZWFkZXIuaWFtLXNlY3VyZWQtYXJlYS5jb25uZWN0ZWQtdXNlcic6ICdQZXJzb25uZSBjb25uZWN0w6llOicsXG4gICAgJ2ZvZWhuLWhlYWRlci5pYW0tc2VjdXJlZC1hcmVhLmxvZ291dCc6IFwiUXVpdHRlciBsJ2FwcGxpY2F0aW9uXCIsXG4gICAgJ2ZvZWhuLXNraXAtbGluay50aXRsZSc6ICdbQWx0KzBdIETDqWJ1dCBkdSBjb250ZW51IGRlIGxhIHBhZ2UnLFxuICAgICdmb2Vobi1za2lwLWxpbmsuY29udGVudCc6ICdEw6lidXQgZHUgY29udGVudSBkZSBsYSBwYWdlJyxcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5hY2N1ZWlsLmxhYmVsJzogJ0FjY3VlaWwnLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLmFjY3VlaWwudGl0bGUnOiAnQWNjdWVpbCcsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0ucHJlZmVyZW5jZXMubGFiZWwnOiAnUHLDqWbDqXJlbmNlcycsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0ucHJlZmVyZW5jZXMudGl0bGUnOiAnUHLDqWbDqXJlbmNlcycsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0uZ2VzdGlvbi1jb21wdGUubGFiZWwnOiAnR2VzdGlvbiBkdSBjb21wdGUnLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLmdlc3Rpb24tY29tcHRlLnRpdGxlJzogJ0dlc3Rpb24gZHUgY29tcHRlJyxcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5vcGVyYXRpb25zLWxpZWVzLWVzcGFjZS1wcm8ubGFiZWwnOlxuICAgICAgICAnT3DDqXJhdGlvbnMgbGnDqWVzIGF1eCBlc3BhY2VzIHByb2Zlc3Npb25uZWxzJyxcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5vcGVyYXRpb25zLWxpZWVzLWVzcGFjZS1wcm8udGl0bGUnOlxuICAgICAgICAnT3DDqXJhdGlvbnMgbGnDqWVzIGF1eCBlc3BhY2VzIHByb2Zlc3Npb25uZWxzJyxcbiAgICAnZXNwYWNlLXNlY3VyaXNlLm1lbnUuaXRlbS5hZG1pbmlzdHJlci1lc3BhY2UtcHJvLmxhYmVsJzpcbiAgICAgICAgXCJBZG1pbmlzdHJlciBsJ2VzcGFjZSBwcm9mZXNzaW9ubmVsXCIsXG4gICAgJ2VzcGFjZS1zZWN1cmlzZS5tZW51Lml0ZW0uYWRtaW5pc3RyZXItZXNwYWNlLXByby50aXRsZSc6XG4gICAgICAgIFwiQWRtaW5pc3RyZXIgbCdlc3BhY2UgcHJvZmVzc2lvbm5lbFwiLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLmRlY29ubmVjdGlvbi5sYWJlbCc6ICdTZSBkw6ljb25uZWN0ZXInLFxuICAgICdlc3BhY2Utc2VjdXJpc2UubWVudS5pdGVtLmRlY29ubmVjdGlvbi50aXRsZSc6ICdTZSBkw6ljb25uZWN0ZXInXG59O1xuIl19