@rangertechnologies/ngnxt 2.0.29 → 2.0.30

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.
@@ -18,18 +18,22 @@ export class PickLocationComponent {
18
18
  markerPosition;
19
19
  center;
20
20
  markerOptions;
21
- // center: google.maps.LatLngLiteral = { lat: 37.7749, lng: -122.4194 };
22
21
  constructor(
23
22
  // private mapsAPILoader: MapsAPILoader,
24
23
  ngZone) {
25
24
  this.ngZone = ngZone;
26
25
  this.geoCoder = new google.maps.Geocoder();
26
+ this.markerOptions = new google.maps.Marker({
27
+ draggable: true,
28
+ animation: google.maps.Animation.DROP
29
+ });
27
30
  // this.formGroup = this.formBuilder.group({
28
31
  // location: [''] // Add any initial value or leave it empty
29
32
  // });
30
33
  }
31
34
  ngOnInit() {
32
35
  this.initAutocomplete();
36
+ this.onMarkerDragEnd();
33
37
  }
34
38
  initAutocomplete() {
35
39
  if (this.geoCoder) {
@@ -51,11 +55,13 @@ export class PickLocationComponent {
51
55
  });
52
56
  }
53
57
  }
54
- onMarkerDragEnd(event) {
55
- console.log('onMarkerDragEnd', event);
56
- this.latitude = event.latLng.lat();
57
- this.longitude = event.latLng.lng();
58
- this.getAddress(this.latitude, this.longitude);
58
+ onMarkerDragEnd() {
59
+ google.maps.event.addListener(this.markerOptions, 'dragend', (event) => {
60
+ console.log('dragable working', event);
61
+ this.latitude = event.latLng.lat();
62
+ this.longitude = event.latLng.lng();
63
+ this.getAddress(this.latitude, this.longitude);
64
+ });
59
65
  }
60
66
  onMapClick(event) {
61
67
  console.log('onMapClick', event);
@@ -68,13 +74,9 @@ export class PickLocationComponent {
68
74
  navigator.geolocation.getCurrentPosition((position) => {
69
75
  this.latitude = position.coords.latitude;
70
76
  this.longitude = position.coords.longitude;
71
- this.markerOptions = {
72
- draggable: true,
73
- animation: google.maps.Animation.DROP
74
- };
75
77
  this.markerPosition = { lat: this.latitude, lng: this.longitude };
76
78
  this.center = { lat: this.latitude, lng: this.longitude };
77
- this.zoom = 0;
79
+ this.zoom = 8;
78
80
  this.getAddress(this.latitude, this.longitude);
79
81
  });
80
82
  }
@@ -108,21 +110,21 @@ export class PickLocationComponent {
108
110
  if (!(this.latitude && this.longitude)) {
109
111
  this.setCurrentLocation();
110
112
  }
111
- // $("#map").modal('show');
112
- // console.log('lat-lan', typeof this.latitude, typeof this.longitude);
113
- // if (!(this.latitude && this.longitude)) {
114
- // this.setCurrentLocation();
115
- // }
113
+ else {
114
+ this.markerPosition = { lat: this.latitude, lng: this.longitude };
115
+ this.center = { lat: this.latitude, lng: this.longitude };
116
+ this.zoom = 8;
117
+ }
116
118
  }
117
119
  closeModal() {
118
120
  this.showModal = false;
119
121
  }
120
122
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PickLocationComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
121
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: PickLocationComponent, selector: "app-pick-location", inputs: { address: "address" }, outputs: { locationSelected: "locationSelected" }, viewQueries: [{ propertyName: "searchElementRef", first: true, predicate: ["search"], descendants: true, static: true }], ngImport: i0, template: "<div>\r\n <!-- <label class=\"she-label\">Location</label> -->\r\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"Enter Location\"\r\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"Search Nearest Location\" autocorrect=\"off\"\r\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\r\n >\r\n <a (click)=\"openMap()\"\r\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\r\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\r\n </i> Pick Location</a>\r\n</div>\r\n\r\n<div class=\"map-overlay\" *ngIf=\"showModal\">\r\n <div class=\"map-modal\">\r\n <div class=\"map-modal-content\">\r\n <div class=\"map-modal-header\">\r\n <h4>Pick Your Location</h4>\r\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\r\n </div>\r\n <!-- Modal content goes here -->\r\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\r\n [fullscreenControl]=\"true\">\r\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\r\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\r\n </agm-map> -->\r\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"onMapClick($event)\">\r\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\" (dragEnd)=\"onMarkerDragEnd($event)\"></map-marker>\r\n </google-map>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".she-label{font-weight:400;color:#9a9a9a;padding-bottom:5px;padding-top:5px;padding-right:15px;font-size:14px}.she-line-input{border:none;background:#fff;border-bottom:1px solid #eeeeee;border-radius:0}.fa-location-arrow:before{content:\"\\f124\"}.map-container{width:auto!important}.map-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1}.map-modal{width:600px;background-color:#fff;border-radius:5px;box-shadow:0 2px 4px #0003}.map-modal-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;background-color:#fff;border-bottom:2px solid #e5e5e5}.map-modal-header h3{margin:0}.map-modal-content{padding:20px}.close-button{border:none;cursor:pointer;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.GoogleMap, selector: "google-map", inputs: ["height", "width", "mapTypeId", "center", "zoom", "options"], outputs: ["mapInitialized", "authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { kind: "directive", type: i3.MapMarker, selector: "map-marker", inputs: ["title", "position", "label", "clickable", "options", "icon", "visible"], outputs: ["animationChanged", "mapClick", "clickableChanged", "cursorChanged", "mapDblclick", "mapDrag", "mapDragend", "draggableChanged", "mapDragstart", "flatChanged", "iconChanged", "mapMousedown", "mapMouseout", "mapMouseover", "mapMouseup", "positionChanged", "mapRightclick", "shapeChanged", "titleChanged", "visibleChanged", "zindexChanged"], exportAs: ["mapMarker"] }] });
123
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: PickLocationComponent, selector: "app-pick-location", inputs: { address: "address" }, outputs: { locationSelected: "locationSelected" }, viewQueries: [{ propertyName: "searchElementRef", first: true, predicate: ["search"], descendants: true, static: true }], ngImport: i0, template: "<div>\r\n <!-- <label class=\"she-label\">Location</label> -->\r\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"Enter Location\"\r\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"Search Nearest Location\" autocorrect=\"off\"\r\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\r\n >\r\n <a (click)=\"openMap()\"\r\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\r\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\r\n </i> Pick Location</a>\r\n</div>\r\n\r\n<div class=\"map-overlay\" *ngIf=\"showModal\">\r\n <div class=\"map-modal\">\r\n <div class=\"map-modal-content\">\r\n <div class=\"map-modal-header\">\r\n <h4>Pick Your Location</h4>\r\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\r\n </div>\r\n <!-- Modal content goes here -->\r\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\r\n [fullscreenControl]=\"true\">\r\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\r\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\r\n </agm-map> -->\r\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" [center]=\"center\" (mapClick)=\"onMapClick($event)\">\r\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"></map-marker>\r\n </google-map>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".she-label{font-weight:400;color:#9a9a9a;padding-bottom:5px;padding-top:5px;padding-right:15px;font-size:14px}.she-line-input{border:none;background:#fff;border-bottom:1px solid #eeeeee;border-radius:0}.fa-location-arrow:before{content:\"\\f124\"}google-map .map-container{width:auto!important}.map-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1}.map-modal{width:600px;background-color:#fff;border-radius:5px;box-shadow:0 2px 4px #0003}.map-modal-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;background-color:#fff;border-bottom:2px solid #e5e5e5}.map-modal-header h3{margin:0}.map-modal-content{padding:20px}.close-button{border:none;cursor:pointer;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.GoogleMap, selector: "google-map", inputs: ["height", "width", "mapTypeId", "center", "zoom", "options"], outputs: ["mapInitialized", "authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { kind: "directive", type: i3.MapMarker, selector: "map-marker", inputs: ["title", "position", "label", "clickable", "options", "icon", "visible"], outputs: ["animationChanged", "mapClick", "clickableChanged", "cursorChanged", "mapDblclick", "mapDrag", "mapDragend", "draggableChanged", "mapDragstart", "flatChanged", "iconChanged", "mapMousedown", "mapMouseout", "mapMouseover", "mapMouseup", "positionChanged", "mapRightclick", "shapeChanged", "titleChanged", "visibleChanged", "zindexChanged"], exportAs: ["mapMarker"] }] });
122
124
  }
123
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PickLocationComponent, decorators: [{
124
126
  type: Component,
125
- args: [{ selector: 'app-pick-location', template: "<div>\r\n <!-- <label class=\"she-label\">Location</label> -->\r\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"Enter Location\"\r\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"Search Nearest Location\" autocorrect=\"off\"\r\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\r\n >\r\n <a (click)=\"openMap()\"\r\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\r\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\r\n </i> Pick Location</a>\r\n</div>\r\n\r\n<div class=\"map-overlay\" *ngIf=\"showModal\">\r\n <div class=\"map-modal\">\r\n <div class=\"map-modal-content\">\r\n <div class=\"map-modal-header\">\r\n <h4>Pick Your Location</h4>\r\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\r\n </div>\r\n <!-- Modal content goes here -->\r\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\r\n [fullscreenControl]=\"true\">\r\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\r\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\r\n </agm-map> -->\r\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"onMapClick($event)\">\r\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\" (dragEnd)=\"onMarkerDragEnd($event)\"></map-marker>\r\n </google-map>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".she-label{font-weight:400;color:#9a9a9a;padding-bottom:5px;padding-top:5px;padding-right:15px;font-size:14px}.she-line-input{border:none;background:#fff;border-bottom:1px solid #eeeeee;border-radius:0}.fa-location-arrow:before{content:\"\\f124\"}.map-container{width:auto!important}.map-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1}.map-modal{width:600px;background-color:#fff;border-radius:5px;box-shadow:0 2px 4px #0003}.map-modal-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;background-color:#fff;border-bottom:2px solid #e5e5e5}.map-modal-header h3{margin:0}.map-modal-content{padding:20px}.close-button{border:none;cursor:pointer;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}\n"] }]
127
+ args: [{ selector: 'app-pick-location', template: "<div>\r\n <!-- <label class=\"she-label\">Location</label> -->\r\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"Enter Location\"\r\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"Search Nearest Location\" autocorrect=\"off\"\r\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\r\n >\r\n <a (click)=\"openMap()\"\r\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\r\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\r\n </i> Pick Location</a>\r\n</div>\r\n\r\n<div class=\"map-overlay\" *ngIf=\"showModal\">\r\n <div class=\"map-modal\">\r\n <div class=\"map-modal-content\">\r\n <div class=\"map-modal-header\">\r\n <h4>Pick Your Location</h4>\r\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\r\n </div>\r\n <!-- Modal content goes here -->\r\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\r\n [fullscreenControl]=\"true\">\r\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\r\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\r\n </agm-map> -->\r\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" [center]=\"center\" (mapClick)=\"onMapClick($event)\">\r\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"></map-marker>\r\n </google-map>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".she-label{font-weight:400;color:#9a9a9a;padding-bottom:5px;padding-top:5px;padding-right:15px;font-size:14px}.she-line-input{border:none;background:#fff;border-bottom:1px solid #eeeeee;border-radius:0}.fa-location-arrow:before{content:\"\\f124\"}google-map .map-container{width:auto!important}.map-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1}.map-modal{width:600px;background-color:#fff;border-radius:5px;box-shadow:0 2px 4px #0003}.map-modal-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;background-color:#fff;border-bottom:2px solid #e5e5e5}.map-modal-header h3{margin:0}.map-modal-content{padding:20px}.close-button{border:none;cursor:pointer;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}\n"] }]
126
128
  }], ctorParameters: function () { return [{ type: i0.NgZone }]; }, propDecorators: { searchElementRef: [{
127
129
  type: ViewChild,
128
130
  args: ['search', { static: true }]
@@ -131,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
131
133
  }], locationSelected: [{
132
134
  type: Output
133
135
  }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljay1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9waWNrLWxvY2F0aW9uL3BpY2stbG9jYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvcGljay1sb2NhdGlvbi9waWNrLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBNEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFVeEgsTUFBTSxPQUFPLHFCQUFxQjtJQW1CdEI7SUFsQlYsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ2pCLElBQUksR0FBVyxFQUFFLENBQUM7SUFDVixRQUFRLENBQUM7SUFDbEIsK0JBQStCO0lBRXZCLGdCQUFnQixDQUErQjtJQUN0RCxTQUFTLEdBQVksS0FBSyxDQUFDO0lBQ2xCLE9BQU8sQ0FBUTtJQUNkLGdCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3hFLG9CQUFvQixDQUFNO0lBQzFCLGNBQWMsQ0FBMEI7SUFDeEMsTUFBTSxDQUEwQjtJQUNoQyxhQUFhLENBQTREO0lBQzFFLHdFQUF3RTtJQUV2RTtJQUNDLHdDQUF3QztJQUMvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3Qyw0Q0FBNEM7UUFDNUMsOERBQThEO1FBQzlELE1BQU07SUFFUixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsRUFB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U0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBQztZQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDdkM7UUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUMzQjtRQUNGLDJCQUEyQjtRQUM1Qix3RUFBd0U7UUFDdEUsNENBQTRDO1FBQzVDLCtCQUErQjtRQUMvQixJQUFJO0lBQ04sQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO3dHQTVIVSxxQkFBcUI7NEZBQXJCLHFCQUFxQixzUUNWbEMsc21EQXFDQTs7NEZEM0JhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7NkZBV3RCLGdCQUFnQjtzQkFEdEIsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUc1QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ01vZHVsZSwgTmdab25lLCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbi8vaW1wb3J0IHsgTWFwc0FQSUxvYWRlciB9IGZyb20gJ0BhZ20vY29yZSc7XHJcbmltcG9ydCB7IEdvb2dsZU1hcCB9IGZyb20gJ0Bhbmd1bGFyL2dvb2dsZS1tYXBzJztcclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcGljay1sb2NhdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY2stbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BpY2stbG9jYXRpb24uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaWNrTG9jYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGxhdGl0dWRlID0gbnVsbDtcclxuICBsb25naXR1ZGUgPSBudWxsO1xyXG4gIHpvb206IG51bWJlciA9IDEwO1xyXG4gIHByaXZhdGUgZ2VvQ29kZXI7XHJcbiAvLyBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XHJcbiAgQFZpZXdDaGlsZCgnc2VhcmNoJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwdWJsaWMgc2VhcmNoRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuICBzaG93TW9kYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBhZGRyZXNzOnN0cmluZztcclxuICBAT3V0cHV0KCkgbG9jYXRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBuYXZpZ2F0b3JHZW9sb2NhdGlvbjogYW55O1xyXG4gIG1hcmtlclBvc2l0aW9uOiB7IGxhdDogYW55OyBsbmc6IGFueTsgfTtcclxuICBjZW50ZXI6IHsgbGF0OiBhbnk7IGxuZzogYW55OyB9O1xyXG4gIG1hcmtlck9wdGlvbnM6IHsgZHJhZ2dhYmxlOiBib29sZWFuOyBhbmltYXRpb246IGdvb2dsZS5tYXBzLkFuaW1hdGlvbjsgfTtcclxuIC8vIGNlbnRlcjogZ29vZ2xlLm1hcHMuTGF0TG5nTGl0ZXJhbCA9IHsgbGF0OiAzNy43NzQ5LCBsbmc6IC0xMjIuNDE5NCB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgLy8gcHJpdmF0ZSBtYXBzQVBJTG9hZGVyOiBNYXBzQVBJTG9hZGVyLFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkgeyBcclxuICAgICAgdGhpcy5nZW9Db2RlciA9IG5ldyBnb29nbGUubWFwcy5HZW9jb2RlcigpO1xyXG4gICAgLy8gdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgIC8vICAgbG9jYXRpb246IFsnJ10gLy8gQWRkIGFueSBpbml0aWFsIHZhbHVlIG9yIGxlYXZlIGl0IGVtcHR5XHJcbiAgICAvLyB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgdGhpcy5pbml0QXV0b2NvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBpbml0QXV0b2NvbXBsZXRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZ2VvQ29kZXIpIHtcclxuICAgICAgY29uc3QgYXV0b2NvbXBsZXRlID0gbmV3IGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGUodGhpcy5zZWFyY2hFbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50LCB7XHJcbiAgICAgICAgdHlwZXM6IFtdXHJcbiAgICAgIH0pO1xyXG4gICAgICBhdXRvY29tcGxldGUuYWRkTGlzdGVuZXIoJ3BsYWNlX2NoYW5nZWQnLCAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHBsYWNlOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQgPSBhdXRvY29tcGxldGUuZ2V0UGxhY2UoKTtcclxuXHJcbiAgICAgICAgICBpZiAocGxhY2UuZ2VvbWV0cnkgPT09IHVuZGVmaW5lZCB8fCBwbGFjZS5nZW9tZXRyeSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5sYXRpdHVkZSA9IHBsYWNlLmdlb21ldHJ5LmxvY2F0aW9uLmxhdCgpO1xyXG4gICAgICAgICAgdGhpcy5sb25naXR1ZGUgPSBwbGFjZS5nZW9tZXRyeS5sb2NhdGlvbi5sbmcoKTtcclxuICAgICAgICAgIHRoaXMuem9vbSA9IDE4O1xyXG4gICAgICAgICAgdGhpcy5hZGRyZXNzID0gcGxhY2UuZm9ybWF0dGVkX2FkZHJlc3M7XHJcbiAgICAgICAgICB0aGlzLmxvY2F0aW9uU2VsZWN0ZWQuZW1pdCh0aGlzLmFkZHJlc3MpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTWFya2VyRHJhZ0VuZChldmVudDogZ29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coJ29uTWFya2VyRHJhZ0VuZCcsZXZlbnQpO1xyXG4gICAgdGhpcy5sYXRpdHVkZSA9IGV2ZW50LmxhdExuZy5sYXQoKTtcclxuICAgIHRoaXMubG9uZ2l0dWRlID0gZXZlbnQubGF0TG5nLmxuZygpO1xyXG4gICAgdGhpcy5nZXRBZGRyZXNzKHRoaXMubGF0aXR1ZGUsIHRoaXMubG9uZ2l0dWRlKTtcclxuICB9XHJcblxyXG4gIG9uTWFwQ2xpY2soZXZlbnQ6IGdvb2dsZS5tYXBzLk1hcE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKCdvbk1hcENsaWNrJyxldmVudCk7XHJcbiAgICB0aGlzLmxhdGl0dWRlID0gZXZlbnQubGF0TG5nLmxhdCgpO1xyXG4gICAgdGhpcy5sb25naXR1ZGUgPSBldmVudC5sYXRMbmcubG5nKCk7XHJcbiAgICB0aGlzLmdldEFkZHJlc3ModGhpcy5sYXRpdHVkZSwgdGhpcy5sb25naXR1ZGUpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudExvY2F0aW9uKCkge1xyXG4gICAgaWYgKCdnZW9sb2NhdGlvbicgaW4gbmF2aWdhdG9yKSB7XHJcbiAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oKHBvc2l0aW9uKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sYXRpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZTtcclxuICAgICAgICB0aGlzLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7XHJcbiAgICAgIHRoaXMubWFya2VyT3B0aW9ucyA9IHtcclxuICAgICAgICAgIGRyYWdnYWJsZTogdHJ1ZSxcclxuICAgICAgICAgIGFuaW1hdGlvbjogZ29vZ2xlLm1hcHMuQW5pbWF0aW9uLkRST1BcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMubWFya2VyUG9zaXRpb24gPSB7IGxhdDogdGhpcy5sYXRpdHVkZSwgbG5nOiB0aGlzLmxvbmdpdHVkZSB9O1xyXG4gICAgICAgIHRoaXMuY2VudGVyID0geyBsYXQ6IHRoaXMubGF0aXR1ZGUsIGxuZzogdGhpcy5sb25naXR1ZGUgfTtcclxuICAgICAgICB0aGlzLnpvb20gPSAwO1xyXG4gICAgICAgIHRoaXMuZ2V0QWRkcmVzcyh0aGlzLmxhdGl0dWRlLCB0aGlzLmxvbmdpdHVkZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGdldEFkZHJlc3MobGF0aXR1ZGU6IG51bWJlciwgbG9uZ2l0dWRlOiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmdlb0NvZGVyKSB7XHJcbiAgICAgIHRoaXMuZ2VvQ29kZXIuZ2VvY29kZSh7IGxvY2F0aW9uOiB7IGxhdDogbGF0aXR1ZGUsIGxuZzogbG9uZ2l0dWRlIH0gfSwgKHJlc3VsdHMsIHN0YXR1cykgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdyZXN1bHRzJyxyZXN1bHRzKTtcclxuICAgICAgICBjb25zb2xlLmxvZygnc3RhdHVzJyxzdGF0dXMpO1xyXG4gICAgICAgIGlmIChzdGF0dXMgPT09ICdPSycpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHRzWzBdKSB7XHJcbiAgICAgICAgICAgLy8gdGhpcy56b29tID0gMTg7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkcmVzcyA9IHJlc3VsdHNbMF0uZm9ybWF0dGVkX2FkZHJlc3M7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb25TZWxlY3RlZC5lbWl0KHRoaXMuYWRkcmVzcyk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnTm8gcmVzdWx0cyBmb3VuZCcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnR2VvY29kZXIgZmFpbGVkIGR1ZSB0bzogJyArIHN0YXR1cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5NYXAoKSB7XHJcbiAgICB0aGlzLnNob3dNb2RhbCA9IHRydWU7XHJcbiAgICBpZighdGhpcy5hZGRyZXNzKXtcclxuICAgICAgdGhpcy5sYXRpdHVkZSA9IHRoaXMubG9uZ2l0dWRlID0gbnVsbDtcclxuICAgIH1cclxuICAgIGlmICghKHRoaXMubGF0aXR1ZGUgJiYgdGhpcy5sb25naXR1ZGUpKSB7XHJcbiAgICAgIHRoaXMuc2V0Q3VycmVudExvY2F0aW9uKCk7XHJcbiAgICB9XHJcbiAgIC8vICQoXCIjbWFwXCIpLm1vZGFsKCdzaG93Jyk7XHJcbiAgLy8gIGNvbnNvbGUubG9nKCdsYXQtbGFuJywgdHlwZW9mIHRoaXMubGF0aXR1ZGUsIHR5cGVvZiB0aGlzLmxvbmdpdHVkZSk7XHJcbiAgICAvLyBpZiAoISh0aGlzLmxhdGl0dWRlICYmIHRoaXMubG9uZ2l0dWRlKSkge1xyXG4gICAgLy8gICB0aGlzLnNldEN1cnJlbnRMb2NhdGlvbigpO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VNb2RhbCgpIHtcclxuICAgIHRoaXMuc2hvd01vZGFsID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdj5cclxuICAgICA8IS0tIDxsYWJlbCBjbGFzcz1cInNoZS1sYWJlbFwiPkxvY2F0aW9uPC9sYWJlbD4gLS0+XHJcbiAgICA8aW5wdXQgI3NlYXJjaCBjbGFzcz1cInNoZS1saW5lLWlucHV0IGZvcm0tY29udHJvbFwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJFbnRlciBMb2NhdGlvblwiXHJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBOZWFyZXN0IExvY2F0aW9uXCIgYXV0b2NvcnJlY3Q9XCJvZmZcIlxyXG4gICAgICAgIGF1dG9jYXBpdGFsaXplPVwib2ZmXCIgc3BlbGxjaGVjaz1cIm9mZlwiIHR5cGU9XCJ0ZXh0XCIgIFsobmdNb2RlbCldPVwiYWRkcmVzc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxhIChjbGljayk9XCJvcGVuTWFwKClcIlxyXG4gICAgICAgIHN0eWxlPVwiY29sb3I6IzQ4QjdGRjtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NXB4O2N1cnNvcjogcG9pbnRlcjtcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWxvY2F0aW9uLWFycm93XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9pPiBQaWNrIExvY2F0aW9uPC9hPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtYXAtb3ZlcmxheVwiICpuZ0lmPVwic2hvd01vZGFsXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm1hcC1tb2RhbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1hcC1tb2RhbC1jb250ZW50XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYXAtbW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgPGg0PlBpY2sgWW91ciBMb2NhdGlvbjwvaDQ+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiIChjbGljayk9XCJjbG9zZU1vZGFsKClcIj5YPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tIE1vZGFsIGNvbnRlbnQgZ29lcyBoZXJlIC0tPlxyXG4gICAgPCEtLSA8YWdtLW1hcCBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiBbbG9uZ2l0dWRlXT1cImxvbmdpdHVkZVwiIFt6b29tXT1cInpvb21cIiAobWFwQ2xpY2spPVwibWFya2VyRHJhZ0VuZCgkZXZlbnQpXCJcclxuICAgIFtmdWxsc2NyZWVuQ29udHJvbF09XCJ0cnVlXCI+XHJcbiAgICA8YWdtLW1hcmtlciBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiBbbG9uZ2l0dWRlXT1cImxvbmdpdHVkZVwiIFttYXJrZXJEcmFnZ2FibGVdPVwidHJ1ZVwiXHJcbiAgICAgIChkcmFnRW5kKT1cIm1hcmtlckRyYWdFbmQoJGV2ZW50KVwiPjwvYWdtLW1hcmtlcj5cclxuICAgIDwvYWdtLW1hcD4gLS0+XHJcbiAgICA8Z29vZ2xlLW1hcCBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiAgW2xvbmdpdHVkZV09XCJsb25naXR1ZGVcIiBbem9vbV09XCJ6b29tXCIgKG1hcENsaWNrKT1cIm9uTWFwQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICA8bWFwLW1hcmtlciBbcG9zaXRpb25dPVwibWFya2VyUG9zaXRpb25cIiBbb3B0aW9uc109XCJtYXJrZXJPcHRpb25zXCIgKGRyYWdFbmQpPVwib25NYXJrZXJEcmFnRW5kKCRldmVudClcIj48L21hcC1tYXJrZXI+XHJcbiAgICA8L2dvb2dsZS1tYXA+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiJdfQ==
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljay1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9waWNrLWxvY2F0aW9uL3BpY2stbG9jYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvcGljay1sb2NhdGlvbi9waWNrLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBNEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFReEgsTUFBTSxPQUFPLHFCQUFxQjtJQWtCdEI7SUFqQlYsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ2pCLElBQUksR0FBVyxFQUFFLENBQUM7SUFDVixRQUFRLENBQUM7SUFDbEIsK0JBQStCO0lBRXZCLGdCQUFnQixDQUErQjtJQUN0RCxTQUFTLEdBQVksS0FBSyxDQUFDO0lBQ2xCLE9BQU8sQ0FBUTtJQUNkLGdCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3hFLG9CQUFvQixDQUFNO0lBQzFCLGNBQWMsQ0FBMEI7SUFDeEMsTUFBTSxDQUEwQjtJQUNoQyxhQUFhLENBQUs7SUFFbEI7SUFDQyx3Q0FBd0M7SUFDL0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFFO1lBQzNDLFNBQVMsRUFBRSxJQUFJO1lBQ2YsU0FBUyxFQUFF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bXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nTW9kdWxlLCBOZ1pvbmUsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcGljay1sb2NhdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY2stbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BpY2stbG9jYXRpb24uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaWNrTG9jYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGxhdGl0dWRlID0gbnVsbDtcclxuICBsb25naXR1ZGUgPSBudWxsO1xyXG4gIHpvb206IG51bWJlciA9IDEwO1xyXG4gIHByaXZhdGUgZ2VvQ29kZXI7XHJcbiAvLyBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XHJcbiAgQFZpZXdDaGlsZCgnc2VhcmNoJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwdWJsaWMgc2VhcmNoRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuICBzaG93TW9kYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBhZGRyZXNzOnN0cmluZztcclxuICBAT3V0cHV0KCkgbG9jYXRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBuYXZpZ2F0b3JHZW9sb2NhdGlvbjogYW55O1xyXG4gIG1hcmtlclBvc2l0aW9uOiB7IGxhdDogYW55OyBsbmc6IGFueTsgfTtcclxuICBjZW50ZXI6IHsgbGF0OiBhbnk7IGxuZzogYW55OyB9O1xyXG4gIG1hcmtlck9wdGlvbnM6YW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgLy8gcHJpdmF0ZSBtYXBzQVBJTG9hZGVyOiBNYXBzQVBJTG9hZGVyLFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkgeyBcclxuICAgICAgdGhpcy5nZW9Db2RlciA9IG5ldyBnb29nbGUubWFwcy5HZW9jb2RlcigpO1xyXG4gICAgICB0aGlzLm1hcmtlck9wdGlvbnMgPSBuZXcgZ29vZ2xlLm1hcHMuTWFya2VyICh7XHJcbiAgICAgICAgZHJhZ2dhYmxlOiB0cnVlLFxyXG4gICAgICAgIGFuaW1hdGlvbjogZ29vZ2xlLm1hcHMuQW5pbWF0aW9uLkRST1BcclxuICAgICAgfSk7XHJcbiAgICAvLyB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgLy8gICBsb2NhdGlvbjogWycnXSAvLyBBZGQgYW55IGluaXRpYWwgdmFsdWUgb3IgbGVhdmUgaXQgZW1wdHlcclxuICAgIC8vIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0QXV0b2NvbXBsZXRlKCk7XHJcbiAgICB0aGlzLm9uTWFya2VyRHJhZ0VuZCgpO1xyXG4gIH1cclxuICBcclxuICBpbml0QXV0b2NvbXBsZXRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZ2VvQ29kZXIpIHtcclxuICAgICAgY29uc3QgYXV0b2NvbXBsZXRlID0gbmV3IGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGUodGhpcy5zZWFyY2hFbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50LCB7XHJcbiAgICAgICAgdHlwZXM6IFtdXHJcbiAgICAgIH0pO1xyXG4gICAgICBhdXRvY29tcGxldGUuYWRkTGlzdGVuZXIoJ3BsYWNlX2NoYW5nZWQnLCAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHBsYWNlOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQgPSBhdXRvY29tcGxldGUuZ2V0UGxhY2UoKTtcclxuXHJcbiAgICAgICAgICBpZiAocGxhY2UuZ2VvbWV0cnkgPT09IHVuZGVmaW5lZCB8fCBwbGFjZS5nZW9tZXRyeSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmxhdGl0dWRlID0gcGxhY2UuZ2VvbWV0cnkubG9jYXRpb24ubGF0KCk7XHJcbiAgICAgICAgICB0aGlzLmxvbmdpdHVkZSA9IHBsYWNlLmdlb21ldHJ5LmxvY2F0aW9uLmxuZygpO1xyXG4gICAgICAgICAgdGhpcy56b29tID0gMTg7XHJcbiAgICAgICAgICB0aGlzLmFkZHJlc3MgPSBwbGFjZS5mb3JtYXR0ZWRfYWRkcmVzcztcclxuICAgICAgICAgIHRoaXMubG9jYXRpb25TZWxlY3RlZC5lbWl0KHRoaXMuYWRkcmVzcyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25NYXJrZXJEcmFnRW5kKCk6IHZvaWQge1xyXG4gICAgZ29vZ2xlLm1hcHMuZXZlbnQuYWRkTGlzdGVuZXIodGhpcy5tYXJrZXJPcHRpb25zLCAnZHJhZ2VuZCcsIChldmVudCkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZygnZHJhZ2FibGUgd29ya2luZycsZXZlbnQpO1xyXG4gICAgICB0aGlzLmxhdGl0dWRlID0gZXZlbnQubGF0TG5nLmxhdCgpO1xyXG4gICAgICB0aGlzLmxvbmdpdHVkZSA9IGV2ZW50LmxhdExuZy5sbmcoKTtcclxuICAgICAgdGhpcy5nZXRBZGRyZXNzKHRoaXMubGF0aXR1ZGUsIHRoaXMubG9uZ2l0dWRlKTtcclxuICB9KTtcclxuICB9XHJcblxyXG4gIG9uTWFwQ2xpY2soZXZlbnQ6IGdvb2dsZS5tYXBzLk1hcE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKCdvbk1hcENsaWNrJyxldmVudCk7XHJcbiAgICB0aGlzLmxhdGl0dWRlID0gZXZlbnQubGF0TG5nLmxhdCgpO1xyXG4gICAgdGhpcy5sb25naXR1ZGUgPSBldmVudC5sYXRMbmcubG5nKCk7XHJcbiAgICB0aGlzLmdldEFkZHJlc3ModGhpcy5sYXRpdHVkZSwgdGhpcy5sb25naXR1ZGUpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudExvY2F0aW9uKCkge1xyXG4gICAgaWYgKCdnZW9sb2NhdGlvbicgaW4gbmF2aWdhdG9yKSB7XHJcbiAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oKHBvc2l0aW9uKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sYXRpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZTtcclxuICAgICAgICB0aGlzLmxvbmdpdHVkZSA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7XHJcbiAgICAgICAgdGhpcy5tYXJrZXJQb3NpdGlvbiA9IHsgbGF0OiB0aGlzLmxhdGl0dWRlLCBsbmc6IHRoaXMubG9uZ2l0dWRlIH07XHJcbiAgICAgICAgdGhpcy5jZW50ZXIgPSB7IGxhdDogdGhpcy5sYXRpdHVkZSwgbG5nOiB0aGlzLmxvbmdpdHVkZSB9O1xyXG4gICAgICAgIHRoaXMuem9vbSA9IDg7XHJcbiAgICAgICAgdGhpcy5nZXRBZGRyZXNzKHRoaXMubGF0aXR1ZGUsIHRoaXMubG9uZ2l0dWRlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0QWRkcmVzcyhsYXRpdHVkZTogbnVtYmVyLCBsb25naXR1ZGU6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuZ2VvQ29kZXIpIHtcclxuICAgICAgdGhpcy5nZW9Db2Rlci5nZW9jb2RlKHsgbG9jYXRpb246IHsgbGF0OiBsYXRpdHVkZSwgbG5nOiBsb25naXR1ZGUgfSB9LCAocmVzdWx0cywgc3RhdHVzKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ3Jlc3VsdHMnLHJlc3VsdHMpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdzdGF0dXMnLHN0YXR1cyk7XHJcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gJ09LJykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdHNbMF0pIHtcclxuICAgICAgICAgICAvLyB0aGlzLnpvb20gPSAxODtcclxuICAgICAgICAgICAgdGhpcy5hZGRyZXNzID0gcmVzdWx0c1swXS5mb3JtYXR0ZWRfYWRkcmVzcztcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvblNlbGVjdGVkLmVtaXQodGhpcy5hZGRyZXNzKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdObyByZXN1bHRzIGZvdW5kJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdHZW9jb2RlciBmYWlsZWQgZHVlIHRvOiAnICsgc3RhdHVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbk1hcCgpIHtcclxuICAgIHRoaXMuc2hvd01vZGFsID0gdHJ1ZTtcclxuICAgIGlmKCF0aGlzLmFkZHJlc3Mpe1xyXG4gICAgICB0aGlzLmxhdGl0dWRlID0gdGhpcy5sb25naXR1ZGUgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKCEodGhpcy5sYXRpdHVkZSAmJiB0aGlzLmxvbmdpdHVkZSkpIHtcclxuICAgICAgdGhpcy5zZXRDdXJyZW50TG9jYXRpb24oKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLm1hcmtlclBvc2l0aW9uID0geyBsYXQ6IHRoaXMubGF0aXR1ZGUsIGxuZzogdGhpcy5sb25naXR1ZGUgfTtcclxuICAgICAgdGhpcy5jZW50ZXIgPSB7IGxhdDogdGhpcy5sYXRpdHVkZSwgbG5nOiB0aGlzLmxvbmdpdHVkZSB9O1xyXG4gICAgICB0aGlzLnpvb20gPSA4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VNb2RhbCgpIHtcclxuICAgIHRoaXMuc2hvd01vZGFsID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdj5cclxuICAgICA8IS0tIDxsYWJlbCBjbGFzcz1cInNoZS1sYWJlbFwiPkxvY2F0aW9uPC9sYWJlbD4gLS0+XHJcbiAgICA8aW5wdXQgI3NlYXJjaCBjbGFzcz1cInNoZS1saW5lLWlucHV0IGZvcm0tY29udHJvbFwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJFbnRlciBMb2NhdGlvblwiXHJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBOZWFyZXN0IExvY2F0aW9uXCIgYXV0b2NvcnJlY3Q9XCJvZmZcIlxyXG4gICAgICAgIGF1dG9jYXBpdGFsaXplPVwib2ZmXCIgc3BlbGxjaGVjaz1cIm9mZlwiIHR5cGU9XCJ0ZXh0XCIgIFsobmdNb2RlbCldPVwiYWRkcmVzc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxhIChjbGljayk9XCJvcGVuTWFwKClcIlxyXG4gICAgICAgIHN0eWxlPVwiY29sb3I6IzQ4QjdGRjtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NXB4O2N1cnNvcjogcG9pbnRlcjtcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWxvY2F0aW9uLWFycm93XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9pPiBQaWNrIExvY2F0aW9uPC9hPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtYXAtb3ZlcmxheVwiICpuZ0lmPVwic2hvd01vZGFsXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm1hcC1tb2RhbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1hcC1tb2RhbC1jb250ZW50XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYXAtbW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgPGg0PlBpY2sgWW91ciBMb2NhdGlvbjwvaDQ+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiIChjbGljayk9XCJjbG9zZU1vZGFsKClcIj5YPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tIE1vZGFsIGNvbnRlbnQgZ29lcyBoZXJlIC0tPlxyXG4gICAgPCEtLSA8YWdtLW1hcCBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiBbbG9uZ2l0dWRlXT1cImxvbmdpdHVkZVwiIFt6b29tXT1cInpvb21cIiAobWFwQ2xpY2spPVwibWFya2VyRHJhZ0VuZCgkZXZlbnQpXCJcclxuICAgIFtmdWxsc2NyZWVuQ29udHJvbF09XCJ0cnVlXCI+XHJcbiAgICA8YWdtLW1hcmtlciBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiBbbG9uZ2l0dWRlXT1cImxvbmdpdHVkZVwiIFttYXJrZXJEcmFnZ2FibGVdPVwidHJ1ZVwiXHJcbiAgICAgIChkcmFnRW5kKT1cIm1hcmtlckRyYWdFbmQoJGV2ZW50KVwiPjwvYWdtLW1hcmtlcj5cclxuICAgIDwvYWdtLW1hcD4gLS0+XHJcbiAgICA8Z29vZ2xlLW1hcCBbbGF0aXR1ZGVdPVwibGF0aXR1ZGVcIiAgW2xvbmdpdHVkZV09XCJsb25naXR1ZGVcIiBbem9vbV09XCJ6b29tXCIgW2NlbnRlcl09XCJjZW50ZXJcIiAobWFwQ2xpY2spPVwib25NYXBDbGljaygkZXZlbnQpXCI+XHJcbiAgICAgIDxtYXAtbWFya2VyIFtwb3NpdGlvbl09XCJtYXJrZXJQb3NpdGlvblwiIFtvcHRpb25zXT1cIm1hcmtlck9wdGlvbnNcIj48L21hcC1tYXJrZXI+XHJcbiAgICA8L2dvb2dsZS1tYXA+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export class ErrorWrapper {
2
+ errorCode;
3
+ errorMsg;
4
+ errorDetails;
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JXcmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL21vZGVsL2Vycm9yV3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sWUFBWTtJQUNyQixTQUFTLENBQVM7SUFDbEIsUUFBUSxDQUFTO0lBQ2pCLFlBQVksQ0FBUztDQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFcnJvcldyYXBwZXIge1xyXG4gICAgZXJyb3JDb2RlOiBzdHJpbmc7XHJcbiAgICBlcnJvck1zZzogc3RyaW5nO1xyXG4gICAgZXJyb3JEZXRhaWxzOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -20,6 +20,7 @@ import { HttpClientModule } from '@angular/common/http';
20
20
  import { BookletComponent } from './pages/booklet/booklet.component';
21
21
  import { GoogleMapsModule } from '@angular/google-maps';
22
22
  import { SearchBoxComponent } from './components/search-box/search-box.component';
23
+ import { QuestionbookComponent } from './pages/questionbook/questionbook.component';
23
24
  import * as i0 from "@angular/core";
24
25
  import * as i1 from "ng-circle-progress";
25
26
  // export const MY_CUSTOM_FORMATS = {
@@ -38,7 +39,8 @@ export class NxtAppModule {
38
39
  DropdownWithFlagComponent,
39
40
  CustomDropdownComponent,
40
41
  BookletComponent,
41
- SearchBoxComponent], imports: [CommonModule, FormsModule,
42
+ SearchBoxComponent,
43
+ QuestionbookComponent], imports: [CommonModule, FormsModule,
42
44
  MyDatePickerModule,
43
45
  OwlDateTimeModule,
44
46
  OwlNativeDateTimeModule,
@@ -155,7 +157,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
155
157
  DropdownWithFlagComponent,
156
158
  CustomDropdownComponent,
157
159
  BookletComponent,
158
- SearchBoxComponent
160
+ SearchBoxComponent,
161
+ QuestionbookComponent
159
162
  ],
160
163
  imports: [
161
164
  CommonModule, FormsModule,
@@ -259,4 +262,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
259
262
  // ]
260
263
  }]
261
264
  }] });
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnh0LWFwcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvbnh0LWFwcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUMsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUMsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSwwSUFBMEk7QUFDMUksT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7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d0JBQ0wsbUJBQW1CLEVBQUUsZ0JBQWdCO3dCQUNyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBDQXNEa0I7d0JBRWhCLHNCQUFzQixDQUFDLE9BQU8sQ0FBQzs0QkFDN0Isb0JBQW9CLEVBQUUsSUFBSTs0QkFDMUIsaUJBQWlCLEVBQUUsU0FBUzs0QkFDNUIsNkJBQTZCLEVBQUUsU0FBUzs0QkFDeEMsa0JBQWtCLEVBQUUsU0FBUzs0QkFDN0IsdUJBQXVCLEVBQUUsQ0FBQzs0QkFDMUIsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFOzRCQUN4QixRQUFRLEVBQUUsRUFBRTs0QkFDWixPQUFPLEVBQUUsQ0FBQzs0QkFDVixZQUFZLEVBQUUsR0FBRzs0QkFDakIsZUFBZSxFQUFFLElBQUk7NEJBQ3JCLFlBQVksRUFBRSxTQUFTOzRCQUN2QixxQkFBcUIsRUFBRSxJQUFJOzRCQUMzQixrQkFBa0IsRUFBRSxFQUFFOzRCQUN0QixrQkFBa0IsRUFBRSxTQUFTOzRCQUM3Qiw4QkFBOEIsRUFBRSxTQUFTOzRCQUN6QyxrQkFBa0IsRUFBRSxDQUFDOzRCQUNyQixZQUFZLEVBQUUsU0FBUzs0QkFDdkIsZUFBZSxFQUFFLElBQUk7NEJBQ3JCLGVBQWUsRUFBRSxTQUFTOzRCQUMxQixjQUFjLEVBQUUsS0FBSzt5QkFBQyxDQUFDO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUMsZUFBZTt3QkFDdkIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7cUJBQ2pCO29CQUNELGVBQWU7b0JBQ2Ysb0ZBQW9GO29CQUNwRixxRUFBcUU7b0JBQ3JFLElBQUk7aUJBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOeHRBcHBDb21wb25lbnQgfSBmcm9tICcuL254dC1hcHAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZUNvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvcXVlc3Rpb25uYWlyZS9xdWVzdGlvbm5haXJlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTXlEYXRlUGlja2VyTW9kdWxlIH0gZnJvbSAnbXlkYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTmdDaXJjbGVQcm9ncmVzc01vZHVsZSB9IGZyb20gJ25nLWNpcmNsZS1wcm9ncmVzcyc7XHJcbmltcG9ydCB7IE5neFNwaW5uZXJNb2R1bGUgfSBmcm9tIFwibmd4LXNwaW5uZXJcIjtcclxuLy9pbXBvcnQgeyBBZ21Db3JlTW9kdWxlIH0gZnJvbSAnQGFnbS9jb3JlJztcclxuaW1wb3J0IHsgR09PR0xFX01BUF9BUElfS0VZIH0gZnJvbSAnLi4vbGliL3NhbXBsZSc7XHJcbmltcG9ydCB7IFBpY2tMb2NhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9waWNrLWxvY2F0aW9uL3BpY2stbG9jYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcbmltcG9ydCB7IEN1c3RvbUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLXRleHQtYXJlYS9jdXN0b20tdGV4dC1hcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS10YWJsZS9jdXN0b20tdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHJvcGRvd25XaXRoRmxhZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi13aXRoLWZsYWcvZHJvcGRvd24td2l0aC1mbGFnLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE93bERhdGVUaW1lTW9kdWxlLE93bE5hdGl2ZURhdGVUaW1lTW9kdWxlIH0gZnJvbSAnbmctcGljay1kYXRldGltZSc7XHJcblxyXG4vL2ltcG9ydCB7IE9XTF9NT01FTlRfREFURV9USU1FX0FEQVBURVJfT1BUSU9OUyB9IGZyb20gJ25nLXBpY2stZGF0ZXRpbWUvZGF0ZS10aW1lL2FkYXB0ZXIvbW9tZW50LWFkYXB0ZXIvbW9tZW50LWRhdGUtdGltZS1hZGFwdGVyLmNsYXNzJztcclxuaW1wb3J0IHsgQ3VzdG9tRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tZGF0ZS1waWNrZXIvY3VzdG9tLWRhdGUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1kcm9wZG93bi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQm9va2xldENvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvYm9va2xldC9ib29rbGV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdvb2dsZU1hcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9nb29nbGUtbWFwcyc7XHJcbmltcG9ydCB7IFNlYXJjaEJveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gtYm94L3NlYXJjaC1ib3guY29tcG9uZW50JztcclxuXHJcbi8vIGV4cG9ydCBjb25zdCBNWV9DVVNUT01fRk9STUFUUyA9IHtcclxuLy8gICBmdWxsUGlja2VySW5wdXQ6ICdERC9NTS9ZWVlZIEhIOm1tOnNzJyxcclxuLy8gICB1c2VVdGM6IHRydWUsXHJcbi8vIH07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW054dEFwcENvbXBvbmVudCwgXHJcbiAgICBRdWVzdGlvbm5haXJlQ29tcG9uZW50LFxyXG4gICAgUGlja0xvY2F0aW9uQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tSW5wdXRDb21wb25lbnQsXHJcbiAgICBDdXN0b21UZXh0QXJlYUNvbXBvbmVudCxcclxuICAgIEN1c3RvbVRhYmxlQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tRGF0ZVBpY2tlckNvbXBvbmVudCxcclxuICAgIERyb3Bkb3duV2l0aEZsYWdDb21wb25lbnQsXHJcbiAgICBDdXN0b21Ecm9wZG93bkNvbXBvbmVudCxcclxuICAgIEJvb2tsZXRDb21wb25lbnQsXHJcbiAgICBTZWFyY2hCb3hDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsXHJcbiAgICBNeURhdGVQaWNrZXJNb2R1bGUsXHJcbiAgICBPd2xEYXRlVGltZU1vZHVsZSxcclxuICAgIE93bE5hdGl2ZURhdGVUaW1lTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIE5nU2VsZWN0TW9kdWxlLFxyXG4gICAgR29vZ2xlTWFwc01vZHVsZSxcclxuICAgIC8vQWdtQ29yZU1vZHVsZS5mb3JSb290KHtcclxuICAgIC8vICBhcGlLZXk6IEdPT0dMRV9NQVBfQVBJX0tFWSxcclxuICAgIC8vICBsaWJyYXJpZXM6IFsnZ2VvbWV0cnknLCAncGxhY2VzJywgJ3Zpc3VhbGl6YXRpb24nLCAnZHJhd2luZyddXHJcbiAgLy8gIH0pLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTmd4U3Bpbm5lck1vZHVsZSxcclxuICAgIC8qTmdDaXJjbGVQcm9ncmVzc01vZHVsZS5mb3JSb290KHtcclxuICAgICAgXCJiYWNrZ3JvdW5kUGFkZGluZ1wiOiAtMTAsXHJcbiAgICAgIFwicmFkaXVzXCI6IDYwLFxyXG4gICAgICBcInNwYWNlXCI6IC02LFxyXG4gICAgICBcImlubmVyU3Ryb2tlQ29sb3JcIjogXCIjOTE5MTkxXCIsXHJcbiAgICAgIFwib3V0ZXJTdHJva2VDb2xvclwiOiBcIiNkYjk1OTRcIixcclxuICAgICAgXCJvdXRlclN0cm9rZUdyYWRpZW50U3RvcENvbG9yXCI6IFwiI2UwYjFiMFwiLFxyXG4gICAgICBcImlubmVyU3Ryb2tlV2lkdGhcIjogMixcclxuICAgICAgXCJiYWNrZ3JvdW5kR3JhZGllbnRcIjogdHJ1ZSxcclxuICAgICAgXCJiYWNrZ3JvdW5kQ29sb3JcIjogXCIjZGQyZTEzXCIsXHJcbiAgICAgIFwiYmFja2dyb3VuZEdyYWRpZW50U3RvcENvbG9yXCI6IFwiI2RkMmUxM1wiLFxyXG4gICAgICBcImJhY2tncm91bmRTdHJva2VcIjogXCIjZDNjZmNmXCIsXHJcbiAgICAgIFwidGl0bGVcIjogW1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBcIiVcIlxyXG4gICAgICBdLFxyXG4gICAgICAvLyB0aXRsZUZvbnRTaXplOiAxMixcclxuICAgICAgLy8gXCJzdWJ0aXRsZUZvbnRTaXplXCI6IDIwLFxyXG4gICAgICBcImFuaW1hdGVUaXRsZVwiOiBmYWxzZSxcclxuICAgICAgXCJhbmltYXRpb25EdXJhdGlvblwiOiAxMDAwLFxyXG4gICAgICBcInNob3dVbml0c1wiOiBmYWxzZSxcclxuICAgICAgXCJjbG9ja3dpc2VcIjp0cnVlXHJcblxyXG4gICAgICAvL1wiYmFja2dyb3VuZFN0cm9rZVdpZHRoXCI6IFwiMFwiLFxyXG5cImJhY2tncm91bmRHcmFkaWVudFwiOiB0cnVlLFxyXG4gICAgICAvL1wiYmFja2dyb3VuZENvbG9yXCI6IFwiI2RkMmUxM1wiLFxyXG4gICAgICBcImJhY2tncm91bmRHcmFkaWVudFN0b3BDb2xvclwiOiBcIiNkZDJlMTNcIixcclxuICAgICAgXCJiYWNrZ3JvdW5kU3Ryb2tlXCI6IFwiIzAwMDAwMFwiLFxyXG4gICAgICBcImJhY2tncm91bmRQYWRkaW5nXCI6IC0xMCxcclxuICAgICAgXCJyYWRpdXNcIjogNjAsXHJcbiAgICAgIFwidW5pdHNGb250V2VpZ2h0XCI6IFwiNjAwXCIsXHJcbiAgICAgIFwidW5pdHNDb2xvclwiOiBcIiNmMmYyZjJcIixcclxuICAgICAgXCJvdXRlclN0cm9rZUdyYWRpZW50XCI6IHRydWUsXHJcbiAgICAgIFwib3V0ZXJTdHJva2VDb2xvclwiOiBcIiNlMGIxYjBcIixcclxuICAgICAgXCJvdXRlclN0cm9rZUdyYWRpZW50U3RvcENvbG9yXCI6IFwiI2UwYjFiMFwiLFxyXG4gICAgICBcIm91dGVyU3Ryb2tlTGluZWNhcFwiOiBcImluaGVyaXRcIixcclxuICAgICAgXCJpbm5lclN0cm9rZUNvbG9yXCI6IFwiI2Y2ZGZkZlwiLFxyXG4gICAgICBcInRpdGxlXCI6IFtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIFwiJVwiXHJcbl0sXHJcbiAgICAgIFwidGl0bGVDb2xvclwiOiBcIiNlN2Q5ZDlcIixcclxuICAgICAgXCJ0aXRsZUZvbnRTaXplXCI6IFwiMzFcIixcclxuICAgICAgXCJ0aXRsZUZvbnRXZWlnaHRcIjogXCIxMDBcIixcclxuICAgICAgXCJzdWJ0aXRsZUNvbG9yXCI6IFwiI2Y3ZjdmN1wiLFxyXG4gICAgICBcInN1YnRpdGxlRm9udFNpemVcIjogXCIzNlwiLFxyXG4gICAgICBcInN1YnRpdGxlRm9udFdlaWdodFwiOiBcIjkwMFwiLFxyXG4gICAgICBcImFuaW1hdGVUaXRsZVwiOiBmYWxzZSxcclxuICAgICAgXCJhbmltYXRpb25EdXJhdGlvblwiOiAxMDAwLFxyXG4gICAgICBcInNob3dUaXRsZVwiOiB0cnVlLFxyXG4gICAgICBcInNob3dVbml0c1wiOiB0cnVlLFxyXG4gICAgICBcImNsb2Nrd2lzZVwiOiBmYWxzZSxcclxuICAgICAgXCJzdGFydEZyb21aZXJvXCI6IHRydWUsXHJcbiAgICAgIFwic2hvd1plcm9PdXRlclN0cm9rZVwiOiBmYWxzZSxcclxuICAgICAgXCJsYXp5XCI6IHRydWV9KSovXHJcblxyXG4gICAgICBOZ0NpcmNsZVByb2dyZXNzTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICAgIFwiYmFja2dyb3VuZEdyYWRpZW50XCI6IHRydWUsXHJcbiAgICAgICAgXCJiYWNrZ3JvdW5kQ29sb3JcIjogXCIjZTI5ZDk4XCIsXHJcbiAgICAgICAgXCJiYWNrZ3JvdW5kR3JhZGllbnRTdG9wQ29sb3JcIjogXCIjYzUyODFjXCIsXHJcbiAgICAgICAgXCJiYWNrZ3JvdW5kU3Ryb2tlXCI6IFwiI2VjZTRlNFwiLFxyXG4gICAgICAgIFwiYmFja2dyb3VuZFN0cm9rZVdpZHRoXCI6IDAsXHJcbiAgICAgICAgXCJiYWNrZ3JvdW5kUGFkZGluZ1wiOiAtMTAsXHJcbiAgICAgICAgXCJyYWRpdXNcIjogNjAsXHJcbiAgICAgICAgXCJzcGFjZVwiOiA0LFxyXG4gICAgICAgIFwibWF4UGVyY2VudFwiOiAxMDAsXHJcbiAgICAgICAgXCJ1bml0c0ZvbnRTaXplXCI6IFwiMzVcIixcclxuICAgICAgICBcInVuaXRzQ29sb3JcIjogXCIjZjBlYmViXCIsXHJcbiAgICAgICAgXCJvdXRlclN0cm9rZUdyYWRpZW50XCI6IHRydWUsXHJcbiAgICAgICAgXCJvdXRlclN0cm9rZVdpZHRoXCI6IDEwLFxyXG4gICAgICAgIFwib3V0ZXJTdHJva2VDb2xvclwiOiBcIiNmN2MwYmZcIixcclxuICAgICAgICBcIm91dGVyU3Ryb2tlR3JhZGllbnRTdG9wQ29sb3JcIjogXCIjZjljOWM4XCIsXHJcbiAgICAgICAgXCJpbm5lclN0cm9rZVdpZHRoXCI6IDAsXHJcbiAgICAgICAgXCJ0aXRsZUNvbG9yXCI6IFwiI2YzZWRlZFwiLFxyXG4gICAgICAgIFwidGl0bGVGb250U2l6ZVwiOiBcIjQwXCIsXHJcbiAgICAgICAgXCJzdWJ0aXRsZUNvbG9yXCI6IFwiIzQ0NDQ0NFwiLFxyXG4gICAgICAgIFwic2hvd1N1YnRpdGxlXCI6IGZhbHNlfSlcclxuICBdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBleHBvcnRzOiBbTnh0QXBwQ29tcG9uZW50LCBcclxuICAgIFF1ZXN0aW9ubmFpcmVDb21wb25lbnQsXHJcbiAgICBCb29rbGV0Q29tcG9uZW50XHJcbiAgXVxyXG4gIC8vIHByb3ZpZGVyczogW1xyXG4gIC8vICAgeyBwcm92aWRlOiBPV0xfTU9NRU5UX0RBVEVfVElNRV9BREFQVEVSX09QVElPTlMsIHVzZVZhbHVlOiB7IHVzZVV0YzogZmFsc2UgfSB9LFxyXG4gIC8vICAgeyBwcm92aWRlOiBPV0xfREFURV9USU1FX0ZPUk1BVFMsIHVzZVZhbHVlOiBNWV9DVVNUT01fRk9STUFUUyB9LFxyXG4gIC8vIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE54dEFwcE1vZHVsZSB7IH1cclxuIl19
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnh0LWFwcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvbnh0LWFwcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUMsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUMsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSwwSUFBMEk7QUFDMUksT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7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Y0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLHlCQUF5Qjt3QkFDekIsK0JBQStCO3dCQUMvQixpRUFBaUU7d0JBQ25FLE9BQU87d0JBQ0wsbUJBQW1CLEVBQUUsZ0JBQWdCO3dCQUNyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBDQXNEa0I7d0JBRWhCLHNCQUFzQixDQUFDLE9BQU8sQ0FBQzs0QkFDN0Isb0JBQW9CLEVBQUUsSUFBSTs0QkFDMUIsaUJBQWlCLEVBQUUsU0FBUzs0QkFDNUIsNkJBQTZCLEVBQUUsU0FBUzs0QkFDeEMsa0JBQWtCLEVBQUUsU0FBUzs0QkFDN0IsdUJBQXVCLEVBQUUsQ0FBQzs0QkFDMUIsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFOzRCQUN4QixRQUFRLEVBQUUsRUFBRTs0QkFDWixPQUFPLEVBQUUsQ0FBQzs0QkFDVixZQUFZLEVBQUUsR0FBRzs0QkFDakIsZUFBZSxFQUFFLElBQUk7NEJBQ3JCLFlBQVksRUFBRSxTQUFTOzRCQUN2QixxQkFBcUIsRUFBRSxJQUFJOzRCQUMzQixrQkFBa0IsRUFBRSxFQUFFOzRCQUN0QixrQkFBa0IsRUFBRSxTQUFTOzRCQUM3Qiw4QkFBOEIsRUFBRSxTQUFTOzRCQUN6QyxrQkFBa0IsRUFBRSxDQUFDOzRCQUNyQixZQUFZLEVBQUUsU0FBUzs0QkFDdkIsZUFBZSxFQUFFLElBQUk7NEJBQ3JCLGVBQWUsRUFBRSxTQUFTOzRCQUMxQixjQUFjLEVBQUUsS0FBSzt5QkFBQyxDQUFDO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUMsZUFBZTt3QkFDdkIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7cUJBQ2pCO29CQUNELGVBQWU7b0JBQ2Ysb0ZBQW9GO29CQUNwRixxRUFBcUU7b0JBQ3JFLElBQUk7aUJBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOeHRBcHBDb21wb25lbnQgfSBmcm9tICcuL254dC1hcHAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZUNvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvcXVlc3Rpb25uYWlyZS9xdWVzdGlvbm5haXJlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTXlEYXRlUGlja2VyTW9kdWxlIH0gZnJvbSAnbXlkYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTmdDaXJjbGVQcm9ncmVzc01vZHVsZSB9IGZyb20gJ25nLWNpcmNsZS1wcm9ncmVzcyc7XHJcbmltcG9ydCB7IE5neFNwaW5uZXJNb2R1bGUgfSBmcm9tIFwibmd4LXNwaW5uZXJcIjtcclxuLy9pbXBvcnQgeyBBZ21Db3JlTW9kdWxlIH0gZnJvbSAnQGFnbS9jb3JlJztcclxuaW1wb3J0IHsgR09PR0xFX01BUF9BUElfS0VZIH0gZnJvbSAnLi4vbGliL3NhbXBsZSc7XHJcbmltcG9ydCB7IFBpY2tMb2NhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9waWNrLWxvY2F0aW9uL3BpY2stbG9jYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcbmltcG9ydCB7IEN1c3RvbUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLXRleHQtYXJlYS9jdXN0b20tdGV4dC1hcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS10YWJsZS9jdXN0b20tdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHJvcGRvd25XaXRoRmxhZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi13aXRoLWZsYWcvZHJvcGRvd24td2l0aC1mbGFnLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE93bERhdGVUaW1lTW9kdWxlLE93bE5hdGl2ZURhdGVUaW1lTW9kdWxlIH0gZnJvbSAnbmctcGljay1kYXRldGltZSc7XHJcblxyXG4vL2ltcG9ydCB7IE9XTF9NT01FTlRfREFURV9USU1FX0FEQVBURVJfT1BUSU9OUyB9IGZyb20gJ25nLXBpY2stZGF0ZXRpbWUvZGF0ZS10aW1lL2FkYXB0ZXIvbW9tZW50LWFkYXB0ZXIvbW9tZW50LWRhdGUtdGltZS1hZGFwdGVyLmNsYXNzJztcclxuaW1wb3J0IHsgQ3VzdG9tRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tZGF0ZS1waWNrZXIvY3VzdG9tLWRhdGUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1kcm9wZG93bi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQm9va2xldENvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvYm9va2xldC9ib29rbGV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdvb2dsZU1hcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9nb29nbGUtbWFwcyc7XHJcbmltcG9ydCB7IFNlYXJjaEJveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gtYm94L3NlYXJjaC1ib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgUXVlc3Rpb25ib29rQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy9xdWVzdGlvbmJvb2svcXVlc3Rpb25ib29rLmNvbXBvbmVudCc7XHJcblxyXG4vLyBleHBvcnQgY29uc3QgTVlfQ1VTVE9NX0ZPUk1BVFMgPSB7XHJcbi8vICAgZnVsbFBpY2tlcklucHV0OiAnREQvTU0vWVlZWSBISDptbTpzcycsXHJcbi8vICAgdXNlVXRjOiB0cnVlLFxyXG4vLyB9O1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtOeHRBcHBDb21wb25lbnQsIFxyXG4gICAgUXVlc3Rpb25uYWlyZUNvbXBvbmVudCxcclxuICAgIFBpY2tMb2NhdGlvbkNvbXBvbmVudCxcclxuICAgIEN1c3RvbUlucHV0Q29tcG9uZW50LFxyXG4gICAgQ3VzdG9tVGV4dEFyZWFDb21wb25lbnQsXHJcbiAgICBDdXN0b21UYWJsZUNvbXBvbmVudCxcclxuICAgIEN1c3RvbURhdGVQaWNrZXJDb21wb25lbnQsXHJcbiAgICBEcm9wZG93bldpdGhGbGFnQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tRHJvcGRvd25Db21wb25lbnQsXHJcbiAgICBCb29rbGV0Q29tcG9uZW50LFxyXG4gICAgU2VhcmNoQm94Q29tcG9uZW50LFxyXG4gICAgUXVlc3Rpb25ib29rQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLFxyXG4gICAgTXlEYXRlUGlja2VyTW9kdWxlLFxyXG4gICAgT3dsRGF0ZVRpbWVNb2R1bGUsXHJcbiAgICBPd2xOYXRpdmVEYXRlVGltZU1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBOZ1NlbGVjdE1vZHVsZSxcclxuICAgIEdvb2dsZU1hcHNNb2R1bGUsXHJcbiAgICAvL0FnbUNvcmVNb2R1bGUuZm9yUm9vdCh7XHJcbiAgICAvLyAgYXBpS2V5OiBHT09HTEVfTUFQX0FQSV9LRVksXHJcbiAgICAvLyAgbGlicmFyaWVzOiBbJ2dlb21ldHJ5JywgJ3BsYWNlcycsICd2aXN1YWxpemF0aW9uJywgJ2RyYXdpbmcnXVxyXG4gIC8vICB9KSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE5neFNwaW5uZXJNb2R1bGUsXHJcbiAgICAvKk5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUuZm9yUm9vdCh7XHJcbiAgICAgIFwiYmFja2dyb3VuZFBhZGRpbmdcIjogLTEwLFxyXG4gICAgICBcInJhZGl1c1wiOiA2MCxcclxuICAgICAgXCJzcGFjZVwiOiAtNixcclxuICAgICAgXCJpbm5lclN0cm9rZUNvbG9yXCI6IFwiIzkxOTE5MVwiLFxyXG4gICAgICBcIm91dGVyU3Ryb2tlQ29sb3JcIjogXCIjZGI5NTk0XCIsXHJcbiAgICAgIFwib3V0ZXJTdHJva2VHcmFkaWVudFN0b3BDb2xvclwiOiBcIiNlMGIxYjBcIixcclxuICAgICAgXCJpbm5lclN0cm9rZVdpZHRoXCI6IDIsXHJcbiAgICAgIFwiYmFja2dyb3VuZEdyYWRpZW50XCI6IHRydWUsXHJcbiAgICAgIFwiYmFja2dyb3VuZENvbG9yXCI6IFwiI2RkMmUxM1wiLFxyXG4gICAgICBcImJhY2tncm91bmRHcmFkaWVudFN0b3BDb2xvclwiOiBcIiNkZDJlMTNcIixcclxuICAgICAgXCJiYWNrZ3JvdW5kU3Ryb2tlXCI6IFwiI2QzY2ZjZlwiLFxyXG4gICAgICBcInRpdGxlXCI6IFtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgXCIlXCJcclxuICAgICAgXSxcclxuICAgICAgLy8gdGl0bGVGb250U2l6ZTogMTIsXHJcbiAgICAgIC8vIFwic3VidGl0bGVGb250U2l6ZVwiOiAyMCxcclxuICAgICAgXCJhbmltYXRlVGl0bGVcIjogZmFsc2UsXHJcbiAgICAgIFwiYW5pbWF0aW9uRHVyYXRpb25cIjogMTAwMCxcclxuICAgICAgXCJzaG93VW5pdHNcIjogZmFsc2UsXHJcbiAgICAgIFwiY2xvY2t3aXNlXCI6dHJ1ZVxyXG5cclxuICAgICAgLy9cImJhY2tncm91bmRTdHJva2VXaWR0aFwiOiBcIjBcIixcclxuXCJiYWNrZ3JvdW5kR3JhZGllbnRcIjogdHJ1ZSxcclxuICAgICAgLy9cImJhY2tncm91bmRDb2xvclwiOiBcIiNkZDJlMTNcIixcclxuICAgICAgXCJiYWNrZ3JvdW5kR3JhZGllbnRTdG9wQ29sb3JcIjogXCIjZGQyZTEzXCIsXHJcbiAgICAgIFwiYmFja2dyb3VuZFN0cm9rZVwiOiBcIiMwMDAwMDBcIixcclxuICAgICAgXCJiYWNrZ3JvdW5kUGFkZGluZ1wiOiAtMTAsXHJcbiAgICAgIFwicmFkaXVzXCI6IDYwLFxyXG4gICAgICBcInVuaXRzRm9udFdlaWdodFwiOiBcIjYwMFwiLFxyXG4gICAgICBcInVuaXRzQ29sb3JcIjogXCIjZjJmMmYyXCIsXHJcbiAgICAgIFwib3V0ZXJTdHJva2VHcmFkaWVudFwiOiB0cnVlLFxyXG4gICAgICBcIm91dGVyU3Ryb2tlQ29sb3JcIjogXCIjZTBiMWIwXCIsXHJcbiAgICAgIFwib3V0ZXJTdHJva2VHcmFkaWVudFN0b3BDb2xvclwiOiBcIiNlMGIxYjBcIixcclxuICAgICAgXCJvdXRlclN0cm9rZUxpbmVjYXBcIjogXCJpbmhlcml0XCIsXHJcbiAgICAgIFwiaW5uZXJTdHJva2VDb2xvclwiOiBcIiNmNmRmZGZcIixcclxuICAgICAgXCJ0aXRsZVwiOiBbXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICBcIiVcIlxyXG5dLFxyXG4gICAgICBcInRpdGxlQ29sb3JcIjogXCIjZTdkOWQ5XCIsXHJcbiAgICAgIFwidGl0bGVGb250U2l6ZVwiOiBcIjMxXCIsXHJcbiAgICAgIFwidGl0bGVGb250V2VpZ2h0XCI6IFwiMTAwXCIsXHJcbiAgICAgIFwic3VidGl0bGVDb2xvclwiOiBcIiNmN2Y3ZjdcIixcclxuICAgICAgXCJzdWJ0aXRsZUZvbnRTaXplXCI6IFwiMzZcIixcclxuICAgICAgXCJzdWJ0aXRsZUZvbnRXZWlnaHRcIjogXCI5MDBcIixcclxuICAgICAgXCJhbmltYXRlVGl0bGVcIjogZmFsc2UsXHJcbiAgICAgIFwiYW5pbWF0aW9uRHVyYXRpb25cIjogMTAwMCxcclxuICAgICAgXCJzaG93VGl0bGVcIjogdHJ1ZSxcclxuICAgICAgXCJzaG93VW5pdHNcIjogdHJ1ZSxcclxuICAgICAgXCJjbG9ja3dpc2VcIjogZmFsc2UsXHJcbiAgICAgIFwic3RhcnRGcm9tWmVyb1wiOiB0cnVlLFxyXG4gICAgICBcInNob3daZXJvT3V0ZXJTdHJva2VcIjogZmFsc2UsXHJcbiAgICAgIFwibGF6eVwiOiB0cnVlfSkqL1xyXG5cclxuICAgICAgTmdDaXJjbGVQcm9ncmVzc01vZHVsZS5mb3JSb290KHtcclxuICAgICAgICBcImJhY2tncm91bmRHcmFkaWVudFwiOiB0cnVlLFxyXG4gICAgICAgIFwiYmFja2dyb3VuZENvbG9yXCI6IFwiI2UyOWQ5OFwiLFxyXG4gICAgICAgIFwiYmFja2dyb3VuZEdyYWRpZW50U3RvcENvbG9yXCI6IFwiI2M1MjgxY1wiLFxyXG4gICAgICAgIFwiYmFja2dyb3VuZFN0cm9rZVwiOiBcIiNlY2U0ZTRcIixcclxuICAgICAgICBcImJhY2tncm91bmRTdHJva2VXaWR0aFwiOiAwLFxyXG4gICAgICAgIFwiYmFja2dyb3VuZFBhZGRpbmdcIjogLTEwLFxyXG4gICAgICAgIFwicmFkaXVzXCI6IDYwLFxyXG4gICAgICAgIFwic3BhY2VcIjogNCxcclxuICAgICAgICBcIm1heFBlcmNlbnRcIjogMTAwLFxyXG4gICAgICAgIFwidW5pdHNGb250U2l6ZVwiOiBcIjM1XCIsXHJcbiAgICAgICAgXCJ1bml0c0NvbG9yXCI6IFwiI2YwZWJlYlwiLFxyXG4gICAgICAgIFwib3V0ZXJTdHJva2VHcmFkaWVudFwiOiB0cnVlLFxyXG4gICAgICAgIFwib3V0ZXJTdHJva2VXaWR0aFwiOiAxMCxcclxuICAgICAgICBcIm91dGVyU3Ryb2tlQ29sb3JcIjogXCIjZjdjMGJmXCIsXHJcbiAgICAgICAgXCJvdXRlclN0cm9rZUdyYWRpZW50U3RvcENvbG9yXCI6IFwiI2Y5YzljOFwiLFxyXG4gICAgICAgIFwiaW5uZXJTdHJva2VXaWR0aFwiOiAwLFxyXG4gICAgICAgIFwidGl0bGVDb2xvclwiOiBcIiNmM2VkZWRcIixcclxuICAgICAgICBcInRpdGxlRm9udFNpemVcIjogXCI0MFwiLFxyXG4gICAgICAgIFwic3VidGl0bGVDb2xvclwiOiBcIiM0NDQ0NDRcIixcclxuICAgICAgICBcInNob3dTdWJ0aXRsZVwiOiBmYWxzZX0pXHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgZXhwb3J0czogW054dEFwcENvbXBvbmVudCwgXHJcbiAgICBRdWVzdGlvbm5haXJlQ29tcG9uZW50LFxyXG4gICAgQm9va2xldENvbXBvbmVudFxyXG4gIF1cclxuICAvLyBwcm92aWRlcnM6IFtcclxuICAvLyAgIHsgcHJvdmlkZTogT1dMX01PTUVOVF9EQVRFX1RJTUVfQURBUFRFUl9PUFRJT05TLCB1c2VWYWx1ZTogeyB1c2VVdGM6IGZhbHNlIH0gfSxcclxuICAvLyAgIHsgcHJvdmlkZTogT1dMX0RBVEVfVElNRV9GT1JNQVRTLCB1c2VWYWx1ZTogTVlfQ1VTVE9NX0ZPUk1BVFMgfSxcclxuICAvLyBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOeHRBcHBNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -6,7 +6,7 @@ import * as i3 from "@angular/router";
6
6
  import * as i4 from "@angular/platform-browser";
7
7
  import * as i5 from "@angular/common";
8
8
  import * as i6 from "ngx-spinner";
9
- import * as i7 from "../questionnaire/questionnaire.component";
9
+ import * as i7 from "../questionbook/questionbook.component";
10
10
  export class BookletComponent {
11
11
  sfService;
12
12
  dataService;
@@ -20,6 +20,8 @@ export class BookletComponent {
20
20
  booklet = [];
21
21
  abItem = {};
22
22
  actions = [];
23
+ bookQuestionsMap = new Map();
24
+ sqOptions = new Map();
23
25
  spinnerName;
24
26
  spinnerType;
25
27
  constructor(sfService, dataService, route, sanitizer, el) {
@@ -34,8 +36,11 @@ export class BookletComponent {
34
36
  this.processBooklet();
35
37
  }
36
38
  ngOnChanges() {
37
- //console.log('inside Questionnaire ngOnChanges');
38
- this.processBooklet();
39
+ console.log('inside Questionnaire ngOnChanges');
40
+ console.log(this.booklet);
41
+ if (this.booklet == undefined || this.booklet.length == 0) {
42
+ this.processBooklet();
43
+ }
39
44
  }
40
45
  processBooklet() {
41
46
  if (this.bookletId) {
@@ -54,10 +59,18 @@ export class BookletComponent {
54
59
  };
55
60
  successReadBooklet = (response) => {
56
61
  console.log('Inside the successReadBooklet');
57
- console.log(response);
62
+ // console.log(response);
58
63
  if (response != null || response != undefined) {
59
64
  this.booklet = response.records;
60
65
  this.abItem = response.answerbook;
66
+ // Process the Sub Question Options
67
+ for (var sq in response.sqOptions) {
68
+ this.sqOptions.set(sq, response.sqOptions[sq]);
69
+ }
70
+ // Process the Questions
71
+ for (var value in response.bookQuestionsMap) {
72
+ this.bookQuestionsMap.set(value, response.bookQuestionsMap[value]);
73
+ }
61
74
  if (response.questionbook?.Actions__c != undefined) {
62
75
  this.actions = JSON.parse(response.questionbook.Actions__c);
63
76
  }
@@ -69,12 +82,33 @@ export class BookletComponent {
69
82
  console.log(action);
70
83
  this.handleBookletActionEvent.emit(action.eventtoemit);
71
84
  }
85
+ readQuestions(qbId) {
86
+ console.log('inside BookletComponent.readQuestions ' + qbId);
87
+ // console.log(this.bookQuestionsMap.size);
88
+ let questions = [];
89
+ for (var sq in this.bookQuestionsMap?.get(qbId).Questions__r.records) {
90
+ let q = this.bookQuestionsMap?.get(qbId).Questions__r.records[sq];
91
+ if (q.Type__c == 'Dropdown') {
92
+ questions.push(this.sqOptions.get(q.Id));
93
+ }
94
+ else {
95
+ questions.push(q);
96
+ }
97
+ }
98
+ // console.log(questions);
99
+ return questions;
100
+ }
101
+ getText(value) {
102
+ var doc = new DOMParser().parseFromString(value, "text/html");
103
+ //console.log( doc.documentElement.textContent);
104
+ return this.sanitizer.bypassSecurityTrustHtml(doc.documentElement.textContent);
105
+ }
72
106
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BookletComponent, deps: [{ token: i1.SalesforceService }, { token: i2.DataService }, { token: i3.ActivatedRoute }, { token: i4.DomSanitizer }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
73
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: BookletComponent, selector: "lib-booklet", inputs: { bookletId: "bookletId", serv: "serv", tkn: "tkn" }, outputs: { handleBookletActionEvent: "handleBookletActionEvent", handlePage: "handlePage" }, usesOnChanges: true, ngImport: i0, template: "<ngx-spinner [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\r\n<!-- Booklet Handling-->\r\n<div *ngFor=\"let qb of booklet\">\r\n <lib-questionnaire [serv]=\"serv\" [qbId]=\"qb.Id\" [tkn]=\"tkn\"></lib-questionnaire>\r\n</div>\r\n\r\n<!-- Group Actions -->\r\n<div class=\"align-submit-row\" *ngIf=\"abItem.Status__c != 'Completed'\">\r\n <div *ngFor=\"let action of actions\">\r\n <button (click)=\"handleBookletActionClick(action)\">\r\n {{ action.name }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".align-submit-row{display:flex}.align-submit-row button{margin-left:25px;background:#48B7FF;color:#fff;border:none;border-radius:5px;height:50px;width:150px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.NgxSpinnerComponent, selector: "ngx-spinner", inputs: ["disableAnimation", "bdColor", "zIndex", "color", "type", "size", "fullScreen", "name", "template", "showSpinner"] }, { kind: "component", type: i7.QuestionnaireComponent, selector: "lib-questionnaire", inputs: ["qbId", "insuranceStartDate", "serv", "tkn"], outputs: ["handleEvent", "handlePage"] }] });
107
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: BookletComponent, selector: "lib-booklet", inputs: { bookletId: "bookletId", serv: "serv", tkn: "tkn" }, outputs: { handleBookletActionEvent: "handleBookletActionEvent", handlePage: "handlePage" }, usesOnChanges: true, ngImport: i0, template: "<ngx-spinner [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\r\n<!-- Booklet Handling-->\r\n<div *ngFor=\"let qb of booklet\">\r\n <!-- MR Commented below code to ensure single JSON for UNCONDITIONAL Booklets -->\r\n <!-- <lib-questionnaire [serv]=\"serv\" [qbId]=\"qb.Id\" [tkn]=\"tkn\"></lib-questionnaire> -->\r\n\r\n <div *ngFor=\"let ques of qb.Questions__r.records\" [class]=\"qb.isShengel__c ? 'questiondiv1' : 'questiondiv1 padd-bottom'\">\r\n <div class=\"questiondiv2\">\r\n <div *ngIf=\"!ques.Is_Title__c\" [class]=\"qb.isShengel__c ? 'header-style additional' : 'question-f-size additional'\">\r\n <div [innerHTML]=\"getText(ques?.Question_Text__c)\" >\r\n {{ ques?.Question_Text__c }}\r\n </div>\r\n </div>\r\n <lib-questionbook [qbItem]=\"qb\" [questionItem]=\"ques\" [questions]=\"readQuestions(qb.Id)\"></lib-questionbook>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Group Actions -->\r\n<div class=\"align-submit-row\" *ngIf=\"abItem.Status__c != 'Completed'\">\r\n <div *ngFor=\"let action of actions\">\r\n <button (click)=\"handleBookletActionClick(action)\">\r\n {{ action.name }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".align-submit-row{display:flex}.align-submit-row button{margin-left:25px;background:#48B7FF;color:#fff;border:none;border-radius:5px;height:50px;width:150px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.NgxSpinnerComponent, selector: "ngx-spinner", inputs: ["disableAnimation", "bdColor", "zIndex", "color", "type", "size", "fullScreen", "name", "template", "showSpinner"] }, { kind: "component", type: i7.QuestionbookComponent, selector: "lib-questionbook", inputs: ["qbItem", "questionItem", "questions"] }] });
74
108
  }
75
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BookletComponent, decorators: [{
76
110
  type: Component,
77
- args: [{ selector: 'lib-booklet', template: "<ngx-spinner [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\r\n<!-- Booklet Handling-->\r\n<div *ngFor=\"let qb of booklet\">\r\n <lib-questionnaire [serv]=\"serv\" [qbId]=\"qb.Id\" [tkn]=\"tkn\"></lib-questionnaire>\r\n</div>\r\n\r\n<!-- Group Actions -->\r\n<div class=\"align-submit-row\" *ngIf=\"abItem.Status__c != 'Completed'\">\r\n <div *ngFor=\"let action of actions\">\r\n <button (click)=\"handleBookletActionClick(action)\">\r\n {{ action.name }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".align-submit-row{display:flex}.align-submit-row button{margin-left:25px;background:#48B7FF;color:#fff;border:none;border-radius:5px;height:50px;width:150px}\n"] }]
111
+ args: [{ selector: 'lib-booklet', template: "<ngx-spinner [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\r\n<!-- Booklet Handling-->\r\n<div *ngFor=\"let qb of booklet\">\r\n <!-- MR Commented below code to ensure single JSON for UNCONDITIONAL Booklets -->\r\n <!-- <lib-questionnaire [serv]=\"serv\" [qbId]=\"qb.Id\" [tkn]=\"tkn\"></lib-questionnaire> -->\r\n\r\n <div *ngFor=\"let ques of qb.Questions__r.records\" [class]=\"qb.isShengel__c ? 'questiondiv1' : 'questiondiv1 padd-bottom'\">\r\n <div class=\"questiondiv2\">\r\n <div *ngIf=\"!ques.Is_Title__c\" [class]=\"qb.isShengel__c ? 'header-style additional' : 'question-f-size additional'\">\r\n <div [innerHTML]=\"getText(ques?.Question_Text__c)\" >\r\n {{ ques?.Question_Text__c }}\r\n </div>\r\n </div>\r\n <lib-questionbook [qbItem]=\"qb\" [questionItem]=\"ques\" [questions]=\"readQuestions(qb.Id)\"></lib-questionbook>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Group Actions -->\r\n<div class=\"align-submit-row\" *ngIf=\"abItem.Status__c != 'Completed'\">\r\n <div *ngFor=\"let action of actions\">\r\n <button (click)=\"handleBookletActionClick(action)\">\r\n {{ action.name }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".align-submit-row{display:flex}.align-submit-row button{margin-left:25px;background:#48B7FF;color:#fff;border:none;border-radius:5px;height:50px;width:150px}\n"] }]
78
112
  }], ctorParameters: function () { return [{ type: i1.SalesforceService }, { type: i2.DataService }, { type: i3.ActivatedRoute }, { type: i4.DomSanitizer }, { type: i0.ElementRef }]; }, propDecorators: { bookletId: [{
79
113
  type: Input
80
114
  }], serv: [{
@@ -86,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
86
120
  }], handlePage: [{
87
121
  type: Output
88
122
  }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va2xldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvcGFnZXMvYm9va2xldC9ib29rbGV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9wYWdlcy9ib29rbGV0L2Jvb2tsZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFJVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FHYixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBWXZCLE1BQU0sT0FBTyxnQkFBZ0I7SUFlakI7SUFDQTtJQUNBO0lBQ0E7SUFqQkQsU0FBUyxDQUFTO0lBQ2xCLElBQUksQ0FBUztJQUNiLEdBQUcsQ0FBUztJQUNYLHdCQUF3QixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDOUMsVUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXRELE9BQU8sR0FBVSxFQUFFLENBQUM7SUFDcEIsTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUNqQixPQUFPLEdBQWlCLEVBQUUsQ0FBQztJQUUzQixXQUFXLENBQVM7SUFDcEIsV0FBVyxDQUFRO0lBRTFCLFlBQ1UsU0FBNEIsRUFDNUIsV0FBd0IsRUFDeEIsS0FBcUIsRUFDckIsU0FBdUIsRUFDL0IsRUFBYztRQUpOLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFHL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztJQUMzQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULGtEQUFrRDtRQUNsRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2xDO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sV0FBVyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUU7UUFDckMsSUFBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssRUFBRTtZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FDekIsSUFBSSxDQUFDLEdBQUcsRUFDUixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQ3pCLElBQUksQ0FBQyxrQkFBa0IsRUFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUN4QixDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUN6Qix1QkFBdUIsRUFDdkIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUN6QixJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FDeEIsQ0FBQztTQUNIO0lBQ0gsQ0FBQyxDQUFBO0lBRU8sa0JBQWtCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QixJQUFHLFFBQVEsSUFBSSxJQUFJLElBQUksUUFBUSxJQUFJLFNBQVMsRUFBRTtZQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQ2xDLElBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxVQUFVLElBQUksU0FBUyxFQUFFO2dCQUNqRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUM3RDtTQUNGO0lBQ0gsQ0FBQyxDQUFBO0lBRU8sa0JBQWtCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRTtJQUUxQyxDQUFDLENBQUE7SUFFRCx3QkFBd0IsQ0FBQyxNQUFpQjtRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7d0dBL0VVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLG1PQ3RCN0Isa2lCQWNBOzs0RkRRYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYTttTkFLZCxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0ksd0JBQXdCO3NCQUFqQyxNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIEVsZW1lbnRSZWYsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU2FsZXNmb3JjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc2FsZXNmb3JjZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcyB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcbmltcG9ydCB7IEFjdGlvbk1ldGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2FjdGlvbk1ldGEnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYm9va2xldCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Jvb2tsZXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Jvb2tsZXQuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCb29rbGV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBib29rbGV0SWQ6IHN0cmluZztcclxuICBASW5wdXQoKSBzZXJ2OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGtuOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGhhbmRsZUJvb2tsZXRBY3Rpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaGFuZGxlUGFnZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyBib29rbGV0OiBhbnlbXSA9IFtdO1xyXG4gIHB1YmxpYyBhYkl0ZW06IGFueSA9IHt9O1xyXG4gIHB1YmxpYyBhY3Rpb25zOiBBY3Rpb25NZXRhW10gPSBbXTtcclxuXHJcbiAgcHVibGljIHNwaW5uZXJOYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHNwaW5uZXJUeXBlOnN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNmU2VydmljZTogU2FsZXNmb3JjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIGVsOiBFbGVtZW50UmVmXHJcbiAgKSB7IFxyXG4gICAgdGhpcy5zcGlubmVyTmFtZSA9IFwic3AxXCI7XHJcbiAgICB0aGlzLnNwaW5uZXJUeXBlID0gXCJiYWxsLXNwaW4tY2xvY2t3aXNlXCI7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvY2Vzc0Jvb2tsZXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgLy9jb25zb2xlLmxvZygnaW5zaWRlIFF1ZXN0aW9ubmFpcmUgbmdPbkNoYW5nZXMnKTtcclxuICAgIHRoaXMucHJvY2Vzc0Jvb2tsZXQoKTtcclxuICB9XHJcblxyXG4gIHByb2Nlc3NCb29rbGV0KCkge1xyXG4gICAgaWYgKHRoaXMuYm9va2xldElkKSB7XHJcbiAgICAgIGlmICh0aGlzLmJvb2tsZXRJZC5sZW5ndGggPT0gMTgpIHtcclxuICAgICAgICB0aGlzLnJlYWRCb29rbGV0KHRoaXMuYm9va2xldElkKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWFkQm9va2xldCA9ICh1dWlkOiBzdHJpbmcpID0+IHtcclxuICAgIGlmKHRoaXMuc2VydiA9PSBcImFwaVwiKSB7XHJcbiAgICAgIHRoaXMuZGF0YVNlcnZpY2UuZ2V0QVBJRGF0YShcclxuICAgICAgICB0aGlzLnRrbixcclxuICAgICAgICBbXCJCb29rbGV0XCIsIFwicmVhZFwiLCB1dWlkXSxcclxuICAgICAgICB0aGlzLnN1Y2Nlc3NSZWFkQm9va2xldCxcclxuICAgICAgICB0aGlzLmZhaWx1cmVSZWFkQm9va2xldFxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZlNlcnZpY2UucmVtb3RlQWN0aW9uKFxyXG4gICAgICAgIFwiTnh0Q29udHJvbGxlci5wcm9jZXNzXCIsXHJcbiAgICAgICAgW1wiQm9va2xldFwiLCBcInJlYWRcIiwgdXVpZF0sXHJcbiAgICAgICAgdGhpcy5zdWNjZXNzUmVhZEJvb2tsZXQsXHJcbiAgICAgICAgdGhpcy5mYWlsdXJlUmVhZEJvb2tsZXRcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3VjY2Vzc1JlYWRCb29rbGV0ID0gKHJlc3BvbnNlKSA9PiB7XHJcbiAgICBjb25zb2xlLmxvZygnSW5zaWRlIHRoZSBzdWNjZXNzUmVhZEJvb2tsZXQnKTtcclxuICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcclxuICAgIGlmKHJlc3BvbnNlICE9IG51bGwgfHwgcmVzcG9uc2UgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuYm9va2xldCA9IHJlc3BvbnNlLnJlY29yZHM7XHJcbiAgICAgIHRoaXMuYWJJdGVtID0gcmVzcG9uc2UuYW5zd2VyYm9vaztcclxuICAgICAgaWYocmVzcG9uc2UucXVlc3Rpb25ib29rPy5BY3Rpb25zX19jICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuYWN0aW9ucyA9IEpTT04ucGFyc2UocmVzcG9uc2UucXVlc3Rpb25ib29rLkFjdGlvbnNfX2MpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZhaWx1cmVSZWFkQm9va2xldCA9IChyZXNwb25zZSkgPT4ge1xyXG5cclxuICB9XHJcblxyXG4gIGhhbmRsZUJvb2tsZXRBY3Rpb25DbGljayhhY3Rpb246QWN0aW9uTWV0YSkge1xyXG4gICAgY29uc29sZS5sb2coYWN0aW9uKTtcclxuICAgIHRoaXMuaGFuZGxlQm9va2xldEFjdGlvbkV2ZW50LmVtaXQoYWN0aW9uLmV2ZW50dG9lbWl0KTtcclxuICB9XHJcbn1cclxuIiwiPG5neC1zcGlubmVyIFtuYW1lXT1cInNwaW5uZXJOYW1lXCIgW3R5cGVdPVwic3Bpbm5lclR5cGVcIj48L25neC1zcGlubmVyPlxyXG48IS0tIEJvb2tsZXQgSGFuZGxpbmctLT5cclxuPGRpdiAqbmdGb3I9XCJsZXQgcWIgb2YgYm9va2xldFwiPlxyXG4gICAgPGxpYi1xdWVzdGlvbm5haXJlIFtzZXJ2XT1cInNlcnZcIiBbcWJJZF09XCJxYi5JZFwiIFt0a25dPVwidGtuXCI+PC9saWItcXVlc3Rpb25uYWlyZT5cclxuPC9kaXY+XHJcblxyXG48IS0tIEdyb3VwIEFjdGlvbnMgLS0+XHJcbjxkaXYgY2xhc3M9XCJhbGlnbi1zdWJtaXQtcm93XCIgKm5nSWY9XCJhYkl0ZW0uU3RhdHVzX19jICE9ICdDb21wbGV0ZWQnXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYWN0aW9uc1wiPlxyXG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImhhbmRsZUJvb2tsZXRBY3Rpb25DbGljayhhY3Rpb24pXCI+XHJcbiAgICAgICAgICAgIHt7IGFjdGlvbi5uYW1lIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va2xldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvcGFnZXMvYm9va2xldC9ib29rbGV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9wYWdlcy9ib29rbGV0L2Jvb2tsZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFJVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FHYixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBYXZCLE1BQU0sT0FBTyxnQkFBZ0I7SUFnQmpCO0lBQ0E7SUFDQTtJQUNBO0lBbEJELFNBQVMsQ0FBUztJQUNsQixJQUFJLENBQVM7SUFDYixHQUFHLENBQVM7SUFDWCx3QkFBd0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzlDLFVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUV0RCxPQUFPLEdBQVUsRUFBRSxDQUFDO0lBQ3BCLE1BQU0sR0FBUSxFQUFFLENBQUM7SUFDakIsT0FBTyxHQUFpQixFQUFFLENBQUM7SUFDM0IsZ0JBQWdCLEdBQVEsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNqQyxTQUFTLEdBQVEsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUM1QixXQUFXLENBQVM7SUFDcEIsV0FBVyxDQUFRO0lBRTFCLFlBQ1UsU0FBNEIsRUFDNUIsV0FBd0IsRUFDeEIsS0FBcUIsRUFDckIsU0FBdUIsRUFDL0IsRUFBYztRQUpOLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFHL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFB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RyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBFbGVtZW50UmVmLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNhbGVzZm9yY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3NhbGVzZm9yY2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5pbXBvcnQgeyBBY3Rpb25NZXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hY3Rpb25NZXRhJztcclxuaW1wb3J0IHsgUXVlc3Rpb24gfSBmcm9tIFwiLi4vLi4vd3JhcHBlclwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYm9va2xldCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Jvb2tsZXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Jvb2tsZXQuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCb29rbGV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBib29rbGV0SWQ6IHN0cmluZztcclxuICBASW5wdXQoKSBzZXJ2OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGtuOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGhhbmRsZUJvb2tsZXRBY3Rpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaGFuZGxlUGFnZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyBib29rbGV0OiBhbnlbXSA9IFtdO1xyXG4gIHB1YmxpYyBhYkl0ZW06IGFueSA9IHt9O1xyXG4gIHB1YmxpYyBhY3Rpb25zOiBBY3Rpb25NZXRhW10gPSBbXTtcclxuICBwdWJsaWMgYm9va1F1ZXN0aW9uc01hcDogYW55ID0gbmV3IE1hcCgpO1xyXG4gIHByaXZhdGUgc3FPcHRpb25zOiBhbnkgPSBuZXcgTWFwKCk7XHJcbiAgcHVibGljIHNwaW5uZXJOYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHNwaW5uZXJUeXBlOnN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNmU2VydmljZTogU2FsZXNmb3JjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIGVsOiBFbGVtZW50UmVmXHJcbiAgKSB7IFxyXG4gICAgdGhpcy5zcGlubmVyTmFtZSA9IFwic3AxXCI7XHJcbiAgICB0aGlzLnNwaW5uZXJUeXBlID0gXCJiYWxsLXNwaW4tY2xvY2t3aXNlXCI7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvY2Vzc0Jvb2tsZXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgY29uc29sZS5sb2coJ2luc2lkZSBRdWVzdGlvbm5haXJlIG5nT25DaGFuZ2VzJyk7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLmJvb2tsZXQpO1xyXG4gICAgaWYodGhpcy5ib29rbGV0ID09IHVuZGVmaW5lZCB8fCB0aGlzLmJvb2tsZXQubGVuZ3RoID09IDApIHtcclxuICAgICAgdGhpcy5wcm9jZXNzQm9va2xldCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvY2Vzc0Jvb2tsZXQoKSB7XHJcbiAgICBpZiAodGhpcy5ib29rbGV0SWQpIHtcclxuICAgICAgaWYgKHRoaXMuYm9va2xldElkLmxlbmd0aCA9PSAxOCkge1xyXG4gICAgICAgIHRoaXMucmVhZEJvb2tsZXQodGhpcy5ib29rbGV0SWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlYWRCb29rbGV0ID0gKHV1aWQ6IHN0cmluZykgPT4ge1xyXG4gICAgaWYodGhpcy5zZXJ2ID09IFwiYXBpXCIpIHtcclxuICAgICAgdGhpcy5kYXRhU2VydmljZS5nZXRBUElEYXRhKFxyXG4gICAgICAgIHRoaXMudGtuLFxyXG4gICAgICAgIFtcIkJvb2tsZXRcIiwgXCJyZWFkXCIsIHV1aWRdLFxyXG4gICAgICAgIHRoaXMuc3VjY2Vzc1JlYWRCb29rbGV0LFxyXG4gICAgICAgIHRoaXMuZmFpbHVyZVJlYWRCb29rbGV0XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNmU2VydmljZS5yZW1vdGVBY3Rpb24oXHJcbiAgICAgICAgXCJOeHRDb250cm9sbGVyLnByb2Nlc3NcIixcclxuICAgICAgICBbXCJCb29rbGV0XCIsIFwicmVhZFwiLCB1dWlkXSxcclxuICAgICAgICB0aGlzLnN1Y2Nlc3NSZWFkQm9va2xldCxcclxuICAgICAgICB0aGlzLmZhaWx1cmVSZWFkQm9va2xldFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWNjZXNzUmVhZEJvb2tsZXQgPSAocmVzcG9uc2UpID0+IHtcclxuICAgIGNvbnNvbGUubG9nKCdJbnNpZGUgdGhlIHN1Y2Nlc3NSZWFkQm9va2xldCcpO1xyXG4gICAgLy8gY29uc29sZS5sb2cocmVzcG9uc2UpO1xyXG4gICAgaWYocmVzcG9uc2UgIT0gbnVsbCB8fCByZXNwb25zZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5ib29rbGV0ID0gcmVzcG9uc2UucmVjb3JkcztcclxuICAgICAgdGhpcy5hYkl0ZW0gPSByZXNwb25zZS5hbnN3ZXJib29rO1xyXG4gICAgICAvLyBQcm9jZXNzIHRoZSBTdWIgUXVlc3Rpb24gT3B0aW9uc1xyXG4gICAgICBmb3IgKHZhciBzcSBpbiByZXNwb25zZS5zcU9wdGlvbnMpIHtcclxuICAgICAgICB0aGlzLnNxT3B0aW9ucy5zZXQoc3EsIHJlc3BvbnNlLnNxT3B0aW9uc1tzcV0pO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIFByb2Nlc3MgdGhlIFF1ZXN0aW9uc1xyXG4gICAgICBmb3IgKHZhciB2YWx1ZSBpbiByZXNwb25zZS5ib29rUXVlc3Rpb25zTWFwKSB7XHJcbiAgICAgICAgdGhpcy5ib29rUXVlc3Rpb25zTWFwLnNldCh2YWx1ZSwgcmVzcG9uc2UuYm9va1F1ZXN0aW9uc01hcFt2YWx1ZV0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZihyZXNwb25zZS5xdWVzdGlvbmJvb2s/LkFjdGlvbnNfX2MgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpb25zID0gSlNPTi5wYXJzZShyZXNwb25zZS5xdWVzdGlvbmJvb2suQWN0aW9uc19fYyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmFpbHVyZVJlYWRCb29rbGV0ID0gKHJlc3BvbnNlKSA9PiB7XHJcblxyXG4gIH1cclxuXHJcbiAgaGFuZGxlQm9va2xldEFjdGlvbkNsaWNrKGFjdGlvbjpBY3Rpb25NZXRhKSB7XHJcbiAgICBjb25zb2xlLmxvZyhhY3Rpb24pO1xyXG4gICAgdGhpcy5oYW5kbGVCb29rbGV0QWN0aW9uRXZlbnQuZW1pdChhY3Rpb24uZXZlbnR0b2VtaXQpO1xyXG4gIH1cclxuXHJcbiAgcmVhZFF1ZXN0aW9ucyhxYklkOiBzdHJpbmcpIHtcclxuICAgIGNvbnNvbGUubG9nKCdpbnNpZGUgQm9va2xldENvbXBvbmVudC5yZWFkUXVlc3Rpb25zICcgKyBxYklkKTtcclxuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuYm9va1F1ZXN0aW9uc01hcC5zaXplKTtcclxuICAgIGxldCBxdWVzdGlvbnMgPSBbXTtcclxuICAgIGZvcih2YXIgc3EgaW4gdGhpcy5ib29rUXVlc3Rpb25zTWFwPy5nZXQocWJJZCkuUXVlc3Rpb25zX19yLnJlY29yZHMpIHtcclxuICAgICAgbGV0IHE6IFF1ZXN0aW9uID0gdGhpcy5ib29rUXVlc3Rpb25zTWFwPy5nZXQocWJJZCkuUXVlc3Rpb25zX19yLnJlY29yZHNbc3FdO1xyXG4gICAgICBpZihxLlR5cGVfX2MgPT0gJ0Ryb3Bkb3duJykge1xyXG4gICAgICAgIHF1ZXN0aW9ucy5wdXNoKHRoaXMuc3FPcHRpb25zLmdldChxLklkKSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcXVlc3Rpb25zLnB1c2gocSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGNvbnNvbGUubG9nKHF1ZXN0aW9ucyk7XHJcbiAgICByZXR1cm4gcXVlc3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGV4dCh2YWx1ZSkge1xyXG4gICAgdmFyIGRvYyA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcodmFsdWUsIFwidGV4dC9odG1sXCIpO1xyXG4gICAgLy9jb25zb2xlLmxvZyggZG9jLmRvY3VtZW50RWxlbWVudC50ZXh0Q29udGVudCk7XHJcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXHJcbiAgICAgIGRvYy5kb2N1bWVudEVsZW1lbnQudGV4dENvbnRlbnRcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZ3gtc3Bpbm5lciBbbmFtZV09XCJzcGlubmVyTmFtZVwiIFt0eXBlXT1cInNwaW5uZXJUeXBlXCI+PC9uZ3gtc3Bpbm5lcj5cclxuPCEtLSBCb29rbGV0IEhhbmRsaW5nLS0+XHJcbjxkaXYgKm5nRm9yPVwibGV0IHFiIG9mIGJvb2tsZXRcIj5cclxuICAgIDwhLS0gTVIgQ29tbWVudGVkIGJlbG93IGNvZGUgdG8gZW5zdXJlIHNpbmdsZSBKU09OIGZvciBVTkNPTkRJVElPTkFMIEJvb2tsZXRzIC0tPlxyXG4gICAgPCEtLSA8bGliLXF1ZXN0aW9ubmFpcmUgW3NlcnZdPVwic2VydlwiIFtxYklkXT1cInFiLklkXCIgW3Rrbl09XCJ0a25cIj48L2xpYi1xdWVzdGlvbm5haXJlPiAtLT5cclxuXHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBxdWVzIG9mIHFiLlF1ZXN0aW9uc19fci5yZWNvcmRzXCIgW2NsYXNzXT1cInFiLmlzU2hlbmdlbF9fYyA/ICdxdWVzdGlvbmRpdjEnIDogJ3F1ZXN0aW9uZGl2MSBwYWRkLWJvdHRvbSdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25kaXYyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhcXVlcy5Jc19UaXRsZV9fY1wiIFtjbGFzc109XCJxYi5pc1NoZW5nZWxfX2MgPyAnaGVhZGVyLXN0eWxlIGFkZGl0aW9uYWwnIDogJ3F1ZXN0aW9uLWYtc2l6ZSBhZGRpdGlvbmFsJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImdldFRleHQocXVlcz8uUXVlc3Rpb25fVGV4dF9fYylcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgcXVlcz8uUXVlc3Rpb25fVGV4dF9fYyB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bGliLXF1ZXN0aW9uYm9vayBbcWJJdGVtXT1cInFiXCIgW3F1ZXN0aW9uSXRlbV09XCJxdWVzXCIgW3F1ZXN0aW9uc109XCJyZWFkUXVlc3Rpb25zKHFiLklkKVwiPjwvbGliLXF1ZXN0aW9uYm9vaz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gR3JvdXAgQWN0aW9ucyAtLT5cclxuPGRpdiBjbGFzcz1cImFsaWduLXN1Ym1pdC1yb3dcIiAqbmdJZj1cImFiSXRlbS5TdGF0dXNfX2MgIT0gJ0NvbXBsZXRlZCdcIj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBhY3Rpb25zXCI+XHJcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlQm9va2xldEFjdGlvbkNsaWNrKGFjdGlvbilcIj5cclxuICAgICAgICAgICAge3sgYWN0aW9uLm5hbWUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,65 @@
1
+ import { Component, Input, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../services/salesforce.service";
4
+ import * as i2 from "../../services/data.service";
5
+ import * as i3 from "../../services/change.service";
6
+ import * as i4 from "@angular/common";
7
+ import * as i5 from "@angular/forms";
8
+ import * as i6 from "../../components/pick-location/pick-location.component";
9
+ import * as i7 from "../../components/custom-input/custom-input.component";
10
+ import * as i8 from "../../components/custom-text-area/custom-text-area.component";
11
+ import * as i9 from "../../components/custom-table/custom-table.component";
12
+ import * as i10 from "../../components/custom-date-picker/custom-date-picker.component";
13
+ import * as i11 from "../../components/custom-dropdown/custom-dropdown.component";
14
+ export class QuestionbookComponent {
15
+ sfService;
16
+ dataService;
17
+ changeService;
18
+ qbItem;
19
+ questionItem;
20
+ questions;
21
+ subQuestions;
22
+ constructor(sfService, dataService, changeService) {
23
+ this.sfService = sfService;
24
+ this.dataService = dataService;
25
+ this.changeService = changeService;
26
+ }
27
+ ngOnInit() {
28
+ console.log('inside QuestionBookComponent OnInit');
29
+ // console.log(this.qbItem);
30
+ // console.log(this.questions);
31
+ this.subQuestions = [];
32
+ this.setSubQuestions(this.questions);
33
+ }
34
+ clearSQError(quesId) {
35
+ // console.log('inside QuestionBookComponent clearSQError');
36
+ var sqList = this.subQuestions.filter((item) => item.Id == quesId);
37
+ for (var sq of sqList) {
38
+ sq.error = null;
39
+ }
40
+ }
41
+ setSubQuestions(records) {
42
+ console.log('inside QuestionbookComponent setSubQuestions');
43
+ this.subQuestions.push(records);
44
+ }
45
+ // Capture and Process Child Event
46
+ childEventCapture(event, ques) {
47
+ console.log('inside QuestionbookComponent childEventCapture');
48
+ console.log(event);
49
+ this.changeService.announceChange(event);
50
+ //ques.input = event; // here when using the ng-select got event as value
51
+ }
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: QuestionbookComponent, deps: [{ token: i1.SalesforceService }, { token: i2.DataService }, { token: i3.ChangeService }], target: i0.ɵɵFactoryTarget.Component });
53
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: QuestionbookComponent, selector: "lib-questionbook", inputs: { qbItem: "qbItem", questionItem: "questionItem", questions: "questions" }, ngImport: i0, template: "<div [class]=\"qbItem.isShengel__c ? 'form-group content-box' : 'form-group'\">\r\n <div class=\"form-row\">\r\n <div [class]=\"qbItem.isShengel__c ? '' : 'myt-align3'\"\r\n [class]=\"qbItem.isShengel__c ? 'col-lg-' + ques.Size__c + ' paddingnone' : 'col-md-' + ques.Size__c + ' paddingnone'\"\r\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.Id\">\r\n <!-- Sub Question Label -->\r\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\">\r\n <span [class]=\"qbItem.isShengel__c ? 'dis-flex shengel-myt-font3 myt-font7' : 'dis-flex myt-font3 myt-font7' \">{{ ques?.Question__c }}</span>\r\n </div>\r\n\r\n <!-- DateTime -->\r\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\r\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\r\n </app-custom-date-picker>\r\n </div>\r\n\r\n <!-- Text -->\r\n <div *ngIf=\"ques.Type__c === 'Text'\">\r\n <app-custom-input [fromShengel]=\"qbItem.isShengel__c\" [value]=\"ques.input\" [ngClassValue]=\"{\r\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\r\n textBox: !qbItem.Progress_Bar__c\r\n }\" [question]=\"ques\" [idValue]=\"ques.Tracking_ID__c\" [focusEvent]=\"clearSQError(ques.Id)\"\r\n [error]=\"ques.error\" [placeholder]=\"ques.Question__c\" (inputValue)=\"childEventCapture($event, ques)\">\r\n </app-custom-input>\r\n </div>\r\n \r\n <!-- for pick location -->\r\n <div *ngIf=\"ques.Type__c === 'Location'\">\r\n <app-pick-location [address]=\"ques.input\" (locationSelected)=\"childEventCapture($event, ques)\">\r\n </app-pick-location>\r\n </div>\r\n\r\n <!-- for text area -->\r\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\r\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \"\r\n (textareaValueChange)=\"childEventCapture($event)\"></app-custom-text-area>\r\n </div>\r\n\r\n <!-- Email -->\r\n <div *ngIf=\"ques.Type__c === 'Email'\">\r\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\r\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\r\n </div>\r\n\r\n <!-- Table -->\r\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\r\n <app-custom-table [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\r\n </app-custom-table>\r\n </div>\r\n\r\n <!-- Dropdown -->\r\n <div *ngIf=\"ques.Type__c === 'Dropdown'\" class=\"\">\r\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel__c\" [options]=\"ques.Question_Options__r.records\"\r\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Name\" [selectedValue]=\"ques.input\" [placeholder]=\"'---Select---'\"\r\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\r\n </app-custom-dropdown>\r\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.PickLocationComponent, selector: "app-pick-location", inputs: ["address"], outputs: ["locationSelected"] }, { kind: "component", type: i7.CustomInputComponent, selector: "app-custom-input", inputs: ["value", "question", "disabled", "placeholder", "error", "fromShengel", "ngClassValue", "idValue", "focusEvent"], outputs: ["inputValue"] }, { kind: "component", type: i8.CustomTextAreaComponent, selector: "app-custom-text-area", inputs: ["value", "placeholder", "rows", "error"], outputs: ["textareaValueChange"] }, { kind: "component", type: i9.CustomTableComponent, selector: "app-custom-table", inputs: ["question"], outputs: ["valueChange"] }, { kind: "component", type: i10.CustomDatePickerComponent, selector: "app-custom-date-picker", inputs: ["date", "minDate", "maxDate"], outputs: ["dateChange"] }, { kind: "component", type: i11.CustomDropdownComponent, selector: "app-custom-dropdown", inputs: ["options", "placeholder", "apiMeta", "selectedValue", "progressBar", "id", "errorMessage", "error", "fromShengel"], outputs: ["valueChange"] }] });
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: QuestionbookComponent, decorators: [{
56
+ type: Component,
57
+ args: [{ selector: 'lib-questionbook', template: "<div [class]=\"qbItem.isShengel__c ? 'form-group content-box' : 'form-group'\">\r\n <div class=\"form-row\">\r\n <div [class]=\"qbItem.isShengel__c ? '' : 'myt-align3'\"\r\n [class]=\"qbItem.isShengel__c ? 'col-lg-' + ques.Size__c + ' paddingnone' : 'col-md-' + ques.Size__c + ' paddingnone'\"\r\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.Id\">\r\n <!-- Sub Question Label -->\r\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\">\r\n <span [class]=\"qbItem.isShengel__c ? 'dis-flex shengel-myt-font3 myt-font7' : 'dis-flex myt-font3 myt-font7' \">{{ ques?.Question__c }}</span>\r\n </div>\r\n\r\n <!-- DateTime -->\r\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\r\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\r\n </app-custom-date-picker>\r\n </div>\r\n\r\n <!-- Text -->\r\n <div *ngIf=\"ques.Type__c === 'Text'\">\r\n <app-custom-input [fromShengel]=\"qbItem.isShengel__c\" [value]=\"ques.input\" [ngClassValue]=\"{\r\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\r\n textBox: !qbItem.Progress_Bar__c\r\n }\" [question]=\"ques\" [idValue]=\"ques.Tracking_ID__c\" [focusEvent]=\"clearSQError(ques.Id)\"\r\n [error]=\"ques.error\" [placeholder]=\"ques.Question__c\" (inputValue)=\"childEventCapture($event, ques)\">\r\n </app-custom-input>\r\n </div>\r\n \r\n <!-- for pick location -->\r\n <div *ngIf=\"ques.Type__c === 'Location'\">\r\n <app-pick-location [address]=\"ques.input\" (locationSelected)=\"childEventCapture($event, ques)\">\r\n </app-pick-location>\r\n </div>\r\n\r\n <!-- for text area -->\r\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\r\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \"\r\n (textareaValueChange)=\"childEventCapture($event)\"></app-custom-text-area>\r\n </div>\r\n\r\n <!-- Email -->\r\n <div *ngIf=\"ques.Type__c === 'Email'\">\r\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\r\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\r\n </div>\r\n\r\n <!-- Table -->\r\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\r\n <app-custom-table [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\r\n </app-custom-table>\r\n </div>\r\n\r\n <!-- Dropdown -->\r\n <div *ngIf=\"ques.Type__c === 'Dropdown'\" class=\"\">\r\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel__c\" [options]=\"ques.Question_Options__r.records\"\r\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Name\" [selectedValue]=\"ques.input\" [placeholder]=\"'---Select---'\"\r\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\r\n </app-custom-dropdown>\r\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
58
+ }], ctorParameters: function () { return [{ type: i1.SalesforceService }, { type: i2.DataService }, { type: i3.ChangeService }]; }, propDecorators: { qbItem: [{
59
+ type: Input
60
+ }], questionItem: [{
61
+ type: Input
62
+ }], questions: [{
63
+ type: Input
64
+ }] } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb25ib29rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9wYWdlcy9xdWVzdGlvbmJvb2svcXVlc3Rpb25ib29rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9wYWdlcy9xdWVzdGlvbmJvb2svcXVlc3Rpb25ib29rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxHQUF5QixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVdoRixNQUFNLE9BQU8scUJBQXFCO0lBT1o7SUFDVjtJQUNBO0lBUkQsTUFBTSxDQUFlO0lBQ3JCLFlBQVksQ0FBVztJQUN2QixTQUFTLENBQWE7SUFFL0IsWUFBWSxDQUFhO0lBRXpCLFlBQW9CLFNBQTRCLEVBQ3RDLFdBQXdCLEVBQ3hCLGFBQTRCO1FBRmxCLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQ3RDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBRXRDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQ25ELDRCQUE0QjtRQUM1QiwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFNO1FBQ2pCLDREQUE0RDtRQUM1RCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxNQUFNLENBQUMsQ0FBQztRQUNuRSxLQUFLLElBQUksRUFBRSxJQUFJLE1BQU0sRUFBRTtZQUNyQixFQUFFLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsT0FBTztRQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGtDQUFrQztJQUNsQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsSUFBUztRQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7UUFDOUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6Qyx5RUFBeUU7SUFDM0UsQ0FBQzt3R0F4Q1UscUJBQXFCOzRGQUFyQixxQkFBcUIsNElDWGxDLHVySEE2RE07OzRGRGxETyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCOzhKQUtuQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUXVlc3Rpb24sIFF1ZXN0aW9uQm9vayB9IGZyb20gJy4uLy4uL3dyYXBwZXInO1xyXG5pbXBvcnQgeyBTYWxlc2ZvcmNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zYWxlc2ZvcmNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDaGFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbmdlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb25ib29rJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb25ib29rLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9xdWVzdGlvbmJvb2suY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRdWVzdGlvbmJvb2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHFiSXRlbTogUXVlc3Rpb25Cb29rO1xyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uSXRlbTogUXVlc3Rpb247XHJcbiAgQElucHV0KCkgcXVlc3Rpb25zOiBRdWVzdGlvbltdO1xyXG4gIFxyXG4gIHN1YlF1ZXN0aW9uczogUXVlc3Rpb25bXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZlNlcnZpY2U6IFNhbGVzZm9yY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNoYW5nZVNlcnZpY2U6IENoYW5nZVNlcnZpY2UsICkgeyBcclxuICAgICAgXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKCdpbnNpZGUgUXVlc3Rpb25Cb29rQ29tcG9uZW50IE9uSW5pdCcpO1xyXG4gICAgLy8gY29uc29sZS5sb2codGhpcy5xYkl0ZW0pO1xyXG4gICAgLy8gY29uc29sZS5sb2codGhpcy5xdWVzdGlvbnMpO1xyXG4gICAgdGhpcy5zdWJRdWVzdGlvbnMgPSBbXTtcclxuICAgIHRoaXMuc2V0U3ViUXVlc3Rpb25zKHRoaXMucXVlc3Rpb25zKTtcclxuICB9XHJcblxyXG4gIGNsZWFyU1FFcnJvcihxdWVzSWQpIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdpbnNpZGUgUXVlc3Rpb25Cb29rQ29tcG9uZW50IGNsZWFyU1FFcnJvcicpO1xyXG4gICAgdmFyIHNxTGlzdCA9IHRoaXMuc3ViUXVlc3Rpb25zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5JZCA9PSBxdWVzSWQpO1xyXG4gICAgZm9yICh2YXIgc3Egb2Ygc3FMaXN0KSB7XHJcbiAgICAgIHNxLmVycm9yID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFN1YlF1ZXN0aW9ucyhyZWNvcmRzKSB7XHJcbiAgICBjb25zb2xlLmxvZygnaW5zaWRlIFF1ZXN0aW9uYm9va0NvbXBvbmVudCBzZXRTdWJRdWVzdGlvbnMnKTtcclxuICAgIHRoaXMuc3ViUXVlc3Rpb25zLnB1c2gocmVjb3Jkcyk7XHJcbiAgfVxyXG5cclxuICAvLyBDYXB0dXJlIGFuZCBQcm9jZXNzIENoaWxkIEV2ZW50XHJcbiAgY2hpbGRFdmVudENhcHR1cmUoZXZlbnQsIHF1ZXM/OmFueSkge1xyXG4gICAgY29uc29sZS5sb2coJ2luc2lkZSBRdWVzdGlvbmJvb2tDb21wb25lbnQgY2hpbGRFdmVudENhcHR1cmUnKTtcclxuICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcclxuICAgIHRoaXMuY2hhbmdlU2VydmljZS5hbm5vdW5jZUNoYW5nZShldmVudCk7XHJcbiAgICAvL3F1ZXMuaW5wdXQgPSBldmVudDsgLy8gaGVyZSB3aGVuIHVzaW5nIHRoZSBuZy1zZWxlY3QgZ290IGV2ZW50IGFzIHZhbHVlXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW2NsYXNzXT1cInFiSXRlbS5pc1NoZW5nZWxfX2MgPyAnZm9ybS1ncm91cCBjb250ZW50LWJveCcgOiAnZm9ybS1ncm91cCdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvd1wiPlxyXG4gICAgICAgIDxkaXYgW2NsYXNzXT1cInFiSXRlbS5pc1NoZW5nZWxfX2MgPyAnJyA6ICdteXQtYWxpZ24zJ1wiXHJcbiAgICAgICAgICAgIFtjbGFzc109XCJxYkl0ZW0uaXNTaGVuZ2VsX19jID8gJ2NvbC1sZy0nICsgcXVlcy5TaXplX19jICsgJyBwYWRkaW5nbm9uZScgOiAnY29sLW1kLScgKyBxdWVzLlNpemVfX2MgKyAnIHBhZGRpbmdub25lJ1wiXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBxdWVzIG9mIHF1ZXN0aW9ucztsZXQgaSA9IGluZGV4XCIgW2lkXT1cInF1ZXMuSWRcIj5cclxuICAgICAgICAgICAgPCEtLSBTdWIgUXVlc3Rpb24gTGFiZWwgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyBkb3duMjogcWJJdGVtPy5Qcm9ncmVzc19CYXJfX2MgfVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cInFiSXRlbS5pc1NoZW5nZWxfX2MgPyAnZGlzLWZsZXggc2hlbmdlbC1teXQtZm9udDMgbXl0LWZvbnQ3JyAgOiAnZGlzLWZsZXggbXl0LWZvbnQzIG15dC1mb250NycgXCI+e3sgcXVlcz8uUXVlc3Rpb25fX2MgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBEYXRlVGltZSAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInF1ZXMuVHlwZV9fYyA9PT0gJ0RhdGVUaW1lJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1jdXN0b20tZGF0ZS1waWNrZXIgW21pbkRhdGVdPVwicXVlcy5taW5EYXRlXCIgW2RhdGVdPVwicXVlcy5pbnB1dFwiIChkYXRlQ2hhbmdlKT1cImNoaWxkRXZlbnRDYXB0dXJlKCRldmVudCwgcXVlcylcIj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLWN1c3RvbS1kYXRlLXBpY2tlcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIFRleHQgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJxdWVzLlR5cGVfX2MgPT09ICdUZXh0J1wiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1jdXN0b20taW5wdXQgW2Zyb21TaGVuZ2VsXT1cInFiSXRlbS5pc1NoZW5nZWxfX2NcIiBbdmFsdWVdPVwicXVlcy5pbnB1dFwiIFtuZ0NsYXNzVmFsdWVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGlzLWZsZXggZHQtbGluZSBkYXRlLWxpbmUgYm9va1RleHQgYm94b3V0bGluZSBteXQtZm9udDEnOiBxYkl0ZW0uUHJvZ3Jlc3NfQmFyX19jLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0Qm94OiAhcWJJdGVtLlByb2dyZXNzX0Jhcl9fY1xyXG4gICAgICAgICAgICAgICAgICAgIH1cIiBbcXVlc3Rpb25dPVwicXVlc1wiIFtpZFZhbHVlXT1cInF1ZXMuVHJhY2tpbmdfSURfX2NcIiBbZm9jdXNFdmVudF09XCJjbGVhclNRRXJyb3IocXVlcy5JZClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtlcnJvcl09XCJxdWVzLmVycm9yXCIgW3BsYWNlaG9sZGVyXT1cInF1ZXMuUXVlc3Rpb25fX2NcIiAoaW5wdXRWYWx1ZSk9XCJjaGlsZEV2ZW50Q2FwdHVyZSgkZXZlbnQsIHF1ZXMpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1jdXN0b20taW5wdXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPCEtLSBmb3IgcGljayBsb2NhdGlvbiAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInF1ZXMuVHlwZV9fYyA9PT0gJ0xvY2F0aW9uJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1waWNrLWxvY2F0aW9uIFthZGRyZXNzXT1cInF1ZXMuaW5wdXRcIiAobG9jYXRpb25TZWxlY3RlZCk9XCJjaGlsZEV2ZW50Q2FwdHVyZSgkZXZlbnQsIHF1ZXMpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1waWNrLWxvY2F0aW9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gZm9yICB0ZXh0IGFyZWEgICAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInF1ZXMuVHlwZV9fYyA9PT0gJ1RleHRBcmVhJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1jdXN0b20tdGV4dC1hcmVhIFt2YWx1ZV09XCJxdWVzLmlucHV0XCIgW3Jvd3NdPVwiM1wiIFtlcnJvcl09XCJxdWVzLmVycm9yXCIgW3BsYWNlaG9sZGVyXT1cInF1ZXMuUXVlc3Rpb25fX2MgXCJcclxuICAgICAgICAgICAgICAgICAgICAodGV4dGFyZWFWYWx1ZUNoYW5nZSk9XCJjaGlsZEV2ZW50Q2FwdHVyZSgkZXZlbnQpXCI+PC9hcHAtY3VzdG9tLXRleHQtYXJlYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIEVtYWlsIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicXVlcy5UeXBlX19jID09PSAnRW1haWwnXCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImVtYWlsXCIgWyhuZ01vZGVsKV09XCJxdWVzLmlucHV0XCIgW2lkXT1cInF1ZXMuSWRcIiByZXF1aXJlZD1cIlwiIChmb2N1cyk9XCJjbGVhclNRRXJyb3IocXVlcy5JZClcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLmJvcmRlci1jb2xvcj1cInt7IHF1ZXMuZXJyb3IgPyAncmVkJyA6ICcnIH19XCIgcGxhY2Vob2xkZXI9XCJ7eyBxdWVzLlF1ZXN0aW9uX19jIH19XCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIFRhYmxlIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicXVlcy5UeXBlX19jID09PSAnVGFibGUnXCIgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtY3VzdG9tLXRhYmxlIFtxdWVzdGlvbl09XCJxdWVzXCIgKHZhbHVlQ2hhbmdlKT1cImNoaWxkRXZlbnRDYXB0dXJlKCRldmVudCwgcXVlcyk7IGNsZWFyU1FFcnJvcihxdWVzLklkKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtY3VzdG9tLXRhYmxlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gRHJvcGRvd24gLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJxdWVzLlR5cGVfX2MgPT09ICdEcm9wZG93bidcIiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1jdXN0b20tZHJvcGRvd24gW2Zyb21TaGVuZ2VsXT1cInFiSXRlbS5pc1NoZW5nZWxfX2NcIiBbb3B0aW9uc109XCJxdWVzLlF1ZXN0aW9uX09wdGlvbnNfX3IucmVjb3Jkc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2FwaU1ldGFdPVwicXVlcy5TdWJfVGV4dF9fY1wiIFtpZF09XCJxdWVzLk5hbWVcIiBbc2VsZWN0ZWRWYWx1ZV09XCJxdWVzLmlucHV0XCIgW3BsYWNlaG9sZGVyXT1cIictLS1TZWxlY3QtLS0nXCJcclxuICAgICAgICAgICAgICAgICAgICBbZXJyb3JNZXNzYWdlXT1cInF1ZXMuRXJyb3JfTWVzc2FnZV9fY1wiIFtlcnJvcl09XCJxdWVzLmVycm9yXCJcclxuICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiY2hpbGRFdmVudENhcHR1cmUoJGV2ZW50LCBxdWVzKTsgY2xlYXJTUUVycm9yKHF1ZXMuSWQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1jdXN0b20tZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNoZWNrIFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiICpuZ0lmPVwicXVlcz8uaW5wdXQ/Lmxlbmd0aCA+IDBcIj48L2k+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==