@osovitny/anatoly 3.16.50 → 3.16.51

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.
@@ -15,7 +15,7 @@
15
15
  */
16
16
  //Node
17
17
  import { Injectable } from '@angular/core';
18
- import { Subject } from 'rxjs';
18
+ import { BehaviorSubject } from 'rxjs';
19
19
  //App
20
20
  import { ApiUrl } from '../consts/settings';
21
21
  import { ApiServiceBase } from '../../data/base/api.service';
@@ -26,12 +26,10 @@ export class AppContextService extends ApiServiceBase {
26
26
  http;
27
27
  localStorage;
28
28
  sessionStorage;
29
- //Consts
30
29
  storageKeyName = 'appContext';
31
30
  subscription = null;
32
- successes = [];
33
31
  //Private Streams
34
- _updated = new Subject();
32
+ _updated = new BehaviorSubject(null);
35
33
  //Public Streams
36
34
  updated$ = this._updated.asObservable();
37
35
  constructor(http, localStorage, sessionStorage) {
@@ -41,64 +39,36 @@ export class AppContextService extends ApiServiceBase {
41
39
  this.sessionStorage = sessionStorage;
42
40
  this.baseUrl = `${ApiUrl}/appContext`;
43
41
  }
42
+ fireUpdated(data) {
43
+ if (!data) {
44
+ return;
45
+ }
46
+ let now = new Date();
47
+ console.log('AppContext has been updated at ' + now);
48
+ this._updated.next(data);
49
+ }
44
50
  //Session
45
- getCurrentFromSession() {
51
+ getCurrent4Session() {
46
52
  return this.sessionStorage.getObject(this.storageKeyName);
47
53
  }
48
- setCurrentFromSession(value) {
54
+ setCurrent2Session(value) {
49
55
  this.sessionStorage.setObject(this.storageKeyName, value);
50
56
  }
51
- updateCurrentIfExpired() {
52
- let context = this.getCurrentFromSession();
53
- if (!context) {
54
- return;
55
- }
56
- let shouldBeUpdated = false;
57
- let lr = context.lastRequested;
58
- if (lr) {
59
- let now = new Date();
60
- let lastRequested = new Date(context.lastRequested);
61
- let in3Mins = new Date(lastRequested.getFullYear(), lastRequested.getMonth(), lastRequested.getDate(), lastRequested.getHours(), lastRequested.getMinutes() + 3, 0, 0);
62
- if (in3Mins.getTime() < now.getTime()) {
63
- shouldBeUpdated = true;
64
- }
65
- }
66
- else {
67
- shouldBeUpdated = true;
68
- }
69
- if (shouldBeUpdated) {
70
- this.updateCurrent();
71
- }
72
- }
73
57
  dataReceived(data) {
74
58
  this.current = data;
75
- for (let i = 0; i < this.successes.length; i++) {
76
- let success = this.successes[i];
77
- if (success) {
78
- success(data);
79
- }
80
- }
81
- this.successes = [];
82
59
  this.subscription.unsubscribe();
83
60
  this.subscription = null;
84
- if (data) {
85
- let now = new Date();
86
- console.log('AppContext has been updated at ' + now);
87
- this._updated.next(data);
88
- }
89
61
  }
90
62
  getCurrentPrivate(success = null, getCachedIfExist = true) {
91
63
  if (getCachedIfExist) {
92
- let context = this.getCurrentFromSession();
64
+ let context = this.getCurrent4Session();
93
65
  if (context != null) {
94
- if (success)
66
+ if (success) {
95
67
  success(context);
68
+ }
96
69
  return;
97
70
  }
98
71
  }
99
- if (success) {
100
- this.successes.push(success);
101
- }
102
72
  if (this.subscription != null) {
103
73
  return;
104
74
  }
@@ -110,23 +80,34 @@ export class AppContextService extends ApiServiceBase {
110
80
  }
111
81
  });
112
82
  }
83
+ updateCurrentIfExpired() {
84
+ let context = this.getCurrent4Session();
85
+ if (!context) {
86
+ return;
87
+ }
88
+ let shouldBeUpdated = false;
89
+ let lr = context.lastRequested;
90
+ if (lr) {
91
+ let now = new Date();
92
+ let lastRequested = new Date(context.lastRequested);
93
+ let in3Mins = new Date(lastRequested.getFullYear(), lastRequested.getMonth(), lastRequested.getDate(), lastRequested.getHours(), lastRequested.getMinutes() + 3, 0, 0);
94
+ if (in3Mins.getTime() < now.getTime()) {
95
+ shouldBeUpdated = true;
96
+ }
97
+ }
98
+ else {
99
+ shouldBeUpdated = true;
100
+ }
101
+ if (shouldBeUpdated) {
102
+ this.updateCurrent();
103
+ }
104
+ }
113
105
  //Public
114
106
  init(context) {
115
107
  this.current = context;
116
108
  }
117
- getLatestCurrent(success = null) {
118
- this.getCurrentPrivate(success, false);
119
- }
120
- getCurrent(success = null) {
121
- this.getCurrentPrivate(success, true);
122
- }
123
109
  updateCurrent(success = null) {
124
- //VadimOS: make dropping current & isAdmin throw 403
125
- //this.clearCurrent();
126
- this.getLatestCurrent(success);
127
- }
128
- clearCurrent() {
129
- this.sessionStorage.remove(this.storageKeyName);
110
+ this.getCurrentPrivate(success, false);
130
111
  }
131
112
  //Storage
132
113
  clearLocalStorage() {
@@ -142,10 +123,11 @@ export class AppContextService extends ApiServiceBase {
142
123
  //current
143
124
  get current() {
144
125
  this.updateCurrentIfExpired();
145
- return this.getCurrentFromSession();
126
+ return this.getCurrent4Session();
146
127
  }
147
128
  set current(value) {
148
- this.setCurrentFromSession(value);
129
+ this.setCurrent2Session(value);
130
+ this.fireUpdated(value);
149
131
  }
150
132
  //currentUser
151
133
  get currentUser() {
@@ -165,4 +147,4 @@ export class AppContextService extends ApiServiceBase {
165
147
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppContextService, [{
166
148
  type: Injectable
167
149
  }], function () { return [{ type: i1.HttpClient }, { type: i2.LocalStorageService }, { type: i2.SessionStorageService }]; }, null); })();
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFN0MsS0FBSztBQUNMLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFJN0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQWM7SUFjdkM7SUFDQTtJQUNBO0lBZlosUUFBUTtJQUNBLGNBQWMsR0FBRyxZQUFZLENBQUM7SUFFOUIsWUFBWSxHQUFpQixJQUFJLENBQUM7SUFDbEMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUV2QixpQkFBaUI7SUFDVCxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQUV0QyxnQkFBZ0I7SUFDUCxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVqRCxZQUNZLElBQWdCLEVBQ2hCLFlBQWlDLEVBQ2pDLGNBQXFDO1FBQy9DLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUhGLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUUvQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsTUFBTSxhQUFhLENBQUM7SUFDeEMsQ0FBQztJQUVELFNBQVM7SUFDRCxxQkFBcUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFD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QzVCLENBQUM7SUFFQSxTQUFTO0lBQ1QsSUFBVyxPQUFPO1FBQ2hCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUNELElBQVcsT0FBTyxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxhQUFhO0lBQ2QsSUFBVyxXQUFXO1FBQ3JCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDM0IsT0FBTyxPQUFPLEVBQUUsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFXLFdBQVcsQ0FBQyxLQUFVO1FBQ2hDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDM0IsSUFBSSxPQUFPLEVBQUU7WUFDWixPQUFPLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztTQUN2QjtJQUNGLENBQUM7MkVBdEtXLGlCQUFpQjtnRUFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQjs7dUZBQWpCLGlCQUFpQjtjQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDEzIE5vdiAyMDE3XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBcGlVcmwgfSBmcm9tICcuLi9jb25zdHMvc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlQmFzZSB9IGZyb20gJy4uLy4uL2RhdGEvYmFzZS9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UsIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4vd2ViLXN0b3JhZ2Uuc2VydmljZSdcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFwcENvbnRleHRTZXJ2aWNlIGV4dGVuZHMgQXBpU2VydmljZUJhc2Uge1xyXG4gIC8vQ29uc3RzXHJcbiAgcHJpdmF0ZSBzdG9yYWdlS2V5TmFtZSA9ICdhcHBDb250ZXh0JztcclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBzdWNjZXNzZXMgPSBbXTtcclxuXHJcbiAgLy9Qcml2YXRlIFN0cmVhbXNcclxuICBwcml2YXRlIF91cGRhdGVkID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cclxuICAvL1B1YmxpYyBTdHJlYW1zXHJcbiAgcmVhZG9ubHkgdXBkYXRlZCQgPSB0aGlzLl91cGRhdGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJvdGVjdGVkIGxvY2FsU3RvcmFnZTogTG9jYWxTdG9yYWdlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBzZXNzaW9uU3RvcmFnZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihodHRwKTtcclxuICAgIHRoaXMuYmFzZVVybCA9IGAke0FwaVVybH0vYXBwQ29udGV4dGA7XHJcbiAgfVxyXG5cclxuICAvL1Nlc3Npb25cclxuICBwcml2YXRlIGdldEN1cnJlbnRGcm9tU2Vzc2lvbigpIHtcclxuICAgIHJldHVybiB0aGlzLnNlc3Npb25TdG9yYWdlLmdldE9iamVjdCh0aGlzLnN0b3JhZ2VLZXlOYW1lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudEZyb21TZXNzaW9uKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0T2JqZWN0KHRoaXMuc3RvcmFnZUtleU5hbWUsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlQ3VycmVudElmRXhwaXJlZCgpIHtcclxuICAgIGxldCBjb250ZXh0ID0gdGhpcy5nZXRDdXJyZW50RnJvbVNlc3Npb24oKTtcclxuXHJcbiAgICBpZiAoIWNvbnRleHQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzaG91bGRCZVVwZGF0ZWQgPSBmYWxzZTtcclxuICAgIGxldCBsciA9IGNvbnRleHQubGFzdFJlcXVlc3RlZDtcclxuXHJcbiAgICBpZiAobHIpIHtcclxuICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGxldCBsYXN0UmVxdWVzdGVkID0gbmV3IERhdGUoY29udGV4dC5sYXN0UmVxdWVzdGVkKTtcclxuICAgICAgbGV0IGluM01pbnMgPSBuZXcgRGF0ZShsYXN0UmVxdWVzdGVkLmdldEZ1bGxZZWFyKCksIGxhc3RSZXF1ZXN0ZWQuZ2V0TW9udGgoKSwgbGFzdFJlcXVlc3RlZC5nZXREYXRlKCksXHJcbiAgICAgICAgbGFzdFJlcXVlc3RlZC5nZXRIb3VycygpLCBsYXN0UmVxdWVzdGVkLmdldE1pbnV0ZXMoKSArIDMsIDAsIDApO1xyXG5cclxuICAgICAgaWYgKGluM01pbnMuZ2V0VGltZSgpIDwgbm93LmdldFRpbWUoKSkge1xyXG4gICAgICAgIHNob3VsZEJlVXBkYXRlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBzaG91bGRCZVVwZGF0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzaG91bGRCZVVwZGF0ZWQpIHtcclxuICAgICAgdGhpcy51cGRhdGVDdXJyZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRhdGFSZWNlaXZlZChkYXRhKSB7XHJcbiAgICB0aGlzLmN1cnJlbnQgPSBkYXRhO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zdWNjZXNzZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IHN1Y2Nlc3MgPSB0aGlzLnN1Y2Nlc3Nlc1tpXTtcclxuICAgICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgICBzdWNjZXNzKGRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWNjZXNzZXMgPSBbXTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGw7XHJcblxyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdBcHBDb250ZXh0IGhhcyBiZWVuIHVwZGF0ZWQgYXQgJyArIG5vdyk7XHJcblxyXG4gICAgICB0aGlzLl91cGRhdGVkLm5leHQoZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEN1cnJlbnRQcml2YXRlKHN1Y2Nlc3M6IEZ1bmN0aW9uID0gbnVsbCwgZ2V0Q2FjaGVkSWZFeGlzdDogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIGlmIChnZXRDYWNoZWRJZkV4aXN0KSB7XHJcbiAgICAgIGxldCBjb250ZXh0ID0gdGhpcy5nZXRDdXJyZW50RnJvbVNlc3Npb24oKTtcclxuXHJcbiAgICAgIGlmIChjb250ZXh0ICE9IG51bGwpIHtcclxuICAgICAgICBpZiAoc3VjY2Vzcykgc3VjY2Vzcyhjb250ZXh0KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICB0aGlzLnN1Y2Nlc3Nlcy5wdXNoKHN1Y2Nlc3MpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbiAhPSBudWxsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbm93ID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnNvbGUubG9nKCdSZXF1ZXN0aW5nIGEgbmV3IEFwcENvbnRleHQgYXQgJyArIG5vdyk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmdldCgnZ2V0Q3VycmVudENvbnRleHQnLCBudWxsKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YVJlY2VpdmVkKGRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vUHVibGljXHJcbiAgaW5pdChjb250ZXh0KSB7XHJcblx0XHR0aGlzLmN1cnJlbnQgPSBjb250ZXh0O1xyXG5cdH1cclxuXHJcbiAgZ2V0TGF0ZXN0Q3VycmVudChzdWNjZXNzOiBGdW5jdGlvbiA9IG51bGwpIHtcclxuICAgIHRoaXMuZ2V0Q3VycmVudFByaXZhdGUoc3VjY2VzcywgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q3VycmVudChzdWNjZXNzOiBGdW5jdGlvbiA9IG51bGwpIHtcclxuICAgIHRoaXMuZ2V0Q3VycmVudFByaXZhdGUoc3VjY2VzcywgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDdXJyZW50KHN1Y2Nlc3M6IEZ1bmN0aW9uID0gbnVsbCkge1xyXG4gICAgLy9WYWRpbU9TOiBtYWtlIGRyb3BwaW5nIGN1cnJlbnQgJiBpc0FkbWluIHRocm93IDQwM1xyXG4gICAgLy90aGlzLmNsZWFyQ3VycmVudCgpO1xyXG4gICAgdGhpcy5nZXRMYXRlc3RDdXJyZW50KHN1Y2Nlc3MpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJDdXJyZW50KCkge1xyXG4gICAgdGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmUodGhpcy5zdG9yYWdlS2V5TmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL1N0b3JhZ2VcclxuICBjbGVhckxvY2FsU3RvcmFnZSgpIHtcclxuXHRcdHRoaXMubG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcblx0fVxyXG5cclxuXHRjbGVhclNlc3Npb25TdG9yYWdlKCkge1xyXG5cdFx0dGhpcy5zZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xyXG5cdH1cclxuXHJcbiAgY2xlYXJXZWJTdG9yYWdlKCkge1xyXG5cdFx0dGhpcy5jbGVhckxvY2FsU3RvcmFnZSgpO1xyXG5cdFx0dGhpcy5jbGVhclNlc3Npb25TdG9yYWdlKCk7XHJcblx0fVxyXG5cclxuICAvL2N1cnJlbnRcclxuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKSB7XHJcbiAgICB0aGlzLnVwZGF0ZUN1cnJlbnRJZkV4cGlyZWQoKTtcclxuICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnRGcm9tU2Vzc2lvbigpO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGN1cnJlbnQodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZXRDdXJyZW50RnJvbVNlc3Npb24odmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy9jdXJyZW50VXNlclxyXG5cdHB1YmxpYyBnZXQgY3VycmVudFVzZXIoKSB7XHJcblx0XHRsZXQgY3VycmVudCA9IHRoaXMuY3VycmVudDtcclxuXHRcdHJldHVybiBjdXJyZW50Py51c2VyO1xyXG5cdH1cclxuXHRwdWJsaWMgc2V0IGN1cnJlbnRVc2VyKHZhbHVlOiBhbnkpIHtcclxuXHRcdGxldCBjdXJyZW50ID0gdGhpcy5jdXJyZW50O1xyXG5cdFx0aWYgKGN1cnJlbnQpIHtcclxuXHRcdFx0Y3VycmVudC51c2VyID0gdmFsdWU7XHJcblx0XHRcdHRoaXMuY3VycmVudCA9IGN1cnJlbnQ7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ==
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFckQsS0FBSztBQUNMLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFJN0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQWM7SUFXdkM7SUFDQTtJQUNBO0lBWkosY0FBYyxHQUFHLFlBQVksQ0FBQztJQUM5QixZQUFZLEdBQWlCLElBQUksQ0FBQztJQUUxQyxpQkFBaUI7SUFDVCxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7SUFFbEQsZ0JBQWdCO0lBQ1AsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFakQsWUFDWSxJQUFnQixFQUNoQixZQUFpQyxFQUNqQyxjQUFxQztRQUMvQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFIRixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFFL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLE1BQU0sYUFBYSxDQUFDO0lBQ3hDLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBSTtRQUN0QixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTztTQUNSO1FBRUQsSUFBSSxHQUFHLEdB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QkFBaUI7Y0FEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMyBOb3YgMjAxN1xyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBcGlVcmwgfSBmcm9tICcuLi9jb25zdHMvc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlQmFzZSB9IGZyb20gJy4uLy4uL2RhdGEvYmFzZS9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UsIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4vd2ViLXN0b3JhZ2Uuc2VydmljZSdcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFwcENvbnRleHRTZXJ2aWNlIGV4dGVuZHMgQXBpU2VydmljZUJhc2Uge1xyXG4gIHByaXZhdGUgc3RvcmFnZUtleU5hbWUgPSAnYXBwQ29udGV4dCc7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XHJcblxyXG4gIC8vUHJpdmF0ZSBTdHJlYW1zXHJcbiAgcHJpdmF0ZSBfdXBkYXRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuXHJcbiAgLy9QdWJsaWMgU3RyZWFtc1xyXG4gIHJlYWRvbmx5IHVwZGF0ZWQkID0gdGhpcy5fdXBkYXRlZC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByb3RlY3RlZCBsb2NhbFN0b3JhZ2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgc2Vzc2lvblN0b3JhZ2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSkge1xyXG4gICAgc3VwZXIoaHR0cCk7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSBgJHtBcGlVcmx9L2FwcENvbnRleHRgO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaXJlVXBkYXRlZChkYXRhKSB7XHJcbiAgICBpZiAoIWRhdGEpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgY29uc29sZS5sb2coJ0FwcENvbnRleHQgaGFzIGJlZW4gdXBkYXRlZCBhdCAnICsgbm93KTtcclxuXHJcbiAgICB0aGlzLl91cGRhdGVkLm5leHQoZGF0YSk7XHJcbiAgfVxyXG5cclxuICAvL1Nlc3Npb25cclxuICBwcml2YXRlIGdldEN1cnJlbnQ0U2Vzc2lvbigpIHtcclxuICAgIHJldHVybiB0aGlzLnNlc3Npb25TdG9yYWdlLmdldE9iamVjdCh0aGlzLnN0b3JhZ2VLZXlOYW1lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudDJTZXNzaW9uKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0T2JqZWN0KHRoaXMuc3RvcmFnZUtleU5hbWUsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGF0YVJlY2VpdmVkKGRhdGEpIHtcclxuICAgIHRoaXMuY3VycmVudCA9IGRhdGE7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDdXJyZW50UHJpdmF0ZShzdWNjZXNzOiBGdW5jdGlvbiA9IG51bGwsIGdldENhY2hlZElmRXhpc3Q6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICBpZiAoZ2V0Q2FjaGVkSWZFeGlzdCkge1xyXG4gICAgICBsZXQgY29udGV4dCA9IHRoaXMuZ2V0Q3VycmVudDRTZXNzaW9uKCk7XHJcblxyXG4gICAgICBpZiAoY29udGV4dCAhPSBudWxsKSB7XHJcbiAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHN1Y2Nlc3MoY29udGV4dCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24gIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICBjb25zb2xlLmxvZygnUmVxdWVzdGluZyBhIG5ldyBBcHBDb250ZXh0IGF0ICcgKyBub3cpO1xyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5nZXQoJ2dldEN1cnJlbnRDb250ZXh0JywgbnVsbCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGRhdGEpID0+IHtcclxuICAgICAgICB0aGlzLmRhdGFSZWNlaXZlZChkYXRhKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUN1cnJlbnRJZkV4cGlyZWQoKSB7XHJcbiAgICBsZXQgY29udGV4dCA9IHRoaXMuZ2V0Q3VycmVudDRTZXNzaW9uKCk7XHJcblxyXG4gICAgaWYgKCFjb250ZXh0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc2hvdWxkQmVVcGRhdGVkID0gZmFsc2U7XHJcbiAgICBsZXQgbHIgPSBjb250ZXh0Lmxhc3RSZXF1ZXN0ZWQ7XHJcblxyXG4gICAgaWYgKGxyKSB7XHJcbiAgICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBsZXQgbGFzdFJlcXVlc3RlZCA9IG5ldyBEYXRlKGNvbnRleHQubGFzdFJlcXVlc3RlZCk7XHJcbiAgICAgIGxldCBpbjNNaW5zID0gbmV3IERhdGUobGFzdFJlcXVlc3RlZC5nZXRGdWxsWWVhcigpLCBsYXN0UmVxdWVzdGVkLmdldE1vbnRoKCksIGxhc3RSZXF1ZXN0ZWQuZ2V0RGF0ZSgpLFxyXG4gICAgICAgIGxhc3RSZXF1ZXN0ZWQuZ2V0SG91cnMoKSwgbGFzdFJlcXVlc3RlZC5nZXRNaW51dGVzKCkgKyAzLCAwLCAwKTtcclxuXHJcbiAgICAgIGlmIChpbjNNaW5zLmdldFRpbWUoKSA8IG5vdy5nZXRUaW1lKCkpIHtcclxuICAgICAgICBzaG91bGRCZVVwZGF0ZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgc2hvdWxkQmVVcGRhdGVkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc2hvdWxkQmVVcGRhdGVkKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlQ3VycmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9QdWJsaWNcclxuICBpbml0KGNvbnRleHQpIHtcclxuXHRcdHRoaXMuY3VycmVudCA9IGNvbnRleHQ7XHJcblx0fVxyXG5cclxuICB1cGRhdGVDdXJyZW50KHN1Y2Nlc3M6IEZ1bmN0aW9uID0gbnVsbCkge1xyXG4gICAgdGhpcy5nZXRDdXJyZW50UHJpdmF0ZShzdWNjZXNzLCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICAvL1N0b3JhZ2VcclxuICBjbGVhckxvY2FsU3RvcmFnZSgpIHtcclxuXHRcdHRoaXMubG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcblx0fVxyXG5cclxuXHRjbGVhclNlc3Npb25TdG9yYWdlKCkge1xyXG5cdFx0dGhpcy5zZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xyXG5cdH1cclxuXHJcbiAgY2xlYXJXZWJTdG9yYWdlKCkge1xyXG5cdFx0dGhpcy5jbGVhckxvY2FsU3RvcmFnZSgpO1xyXG5cdFx0dGhpcy5jbGVhclNlc3Npb25TdG9yYWdlKCk7XHJcblx0fVxyXG5cclxuICAvL2N1cnJlbnRcclxuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKSB7XHJcbiAgICB0aGlzLnVwZGF0ZUN1cnJlbnRJZkV4cGlyZWQoKTtcclxuICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnQ0U2Vzc2lvbigpO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGN1cnJlbnQodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZXRDdXJyZW50MlNlc3Npb24odmFsdWUpO1xyXG4gICAgdGhpcy5maXJlVXBkYXRlZCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvL2N1cnJlbnRVc2VyXHJcblx0cHVibGljIGdldCBjdXJyZW50VXNlcigpIHtcclxuXHRcdGxldCBjdXJyZW50ID0gdGhpcy5jdXJyZW50O1xyXG5cdFx0cmV0dXJuIGN1cnJlbnQ/LnVzZXI7XHJcblx0fVxyXG5cdHB1YmxpYyBzZXQgY3VycmVudFVzZXIodmFsdWU6IGFueSkge1xyXG5cdFx0bGV0IGN1cnJlbnQgPSB0aGlzLmN1cnJlbnQ7XHJcblx0XHRpZiAoY3VycmVudCkge1xyXG5cdFx0XHRjdXJyZW50LnVzZXIgPSB2YWx1ZTtcclxuXHRcdFx0dGhpcy5jdXJyZW50ID0gY3VycmVudDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
@@ -74,11 +74,14 @@ export class BuyAccessButtonComponent {
74
74
  this.appContext = appContext;
75
75
  }
76
76
  ngOnInit() {
77
- this.appContext.getCurrent((current) => {
78
- this.isUserSignedIn = current.isUserSignedIn;
77
+ this.appContext.updated$.subscribe((context) => {
78
+ if (!context) {
79
+ return;
80
+ }
81
+ this.isUserSignedIn = context.isUserSignedIn;
79
82
  if (this.isUserSignedIn) {
80
- this.currentPlan = current.account.billingPlan;
81
- this.currentPlanTitle = current.account.billingPlanAsString;
83
+ this.currentPlan = context.account.billingPlan;
84
+ this.currentPlanTitle = context.account.billingPlanAsString;
82
85
  }
83
86
  this.contextUpdated = true;
84
87
  });
@@ -106,4 +109,4 @@ export class BuyAccessButtonComponent {
106
109
  }], planselect: [{
107
110
  type: Output
108
111
  }] }); })();
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iaWxsaW5nL2J1eWFjY2Vzcy1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvYmlsbGluZy9idXlhY2Nlc3MtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ2hCM0UsMkJBQTZCO0lBQzNCLDJDQUFvRjtJQUN0RixpQkFBTTs7O0lBR0osaUNBQ29DO0lBQ2xDLDJCQUNGO0lBQUEsaUJBQVM7Ozs7SUFFVCxpQ0FFaUM7SUFBekIscUxBQVMsZUFBQSxxQkFBYyxDQUFBLElBQUM7SUFDOUIseUJBQ0Y7SUFBQSxpQkFBUzs7O0lBVlgsMkJBQXFEO0lBQ25ELDJGQUdTO0lBRVQsMkZBSVM7SUFDWCxpQkFBTTs7O0lBVEssZUFBeUI7SUFBekIsd0RBQXlCO0lBS3pCLGVBQTZDO0lBQTdDLG1GQUE2Qzs7O0lBWjFELDJCQUE0QjtJQUMxQiwrRUFFTTtJQUVOLCtFQVdNO0lBQ1IsaUJBQU07OztJQWhCRSxlQUFxQjtJQUFyQiw2Q0FBcUI7SUFJckIsZUFBNkM7SUFBN0MsNEVBQTZDOztBRHFCckQsTUFBTSxPQUFPLHdCQUF3QjtJQVlmO0lBWHBCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDakIsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBRWIsSUFBSSxDQUFTO0lBQ2IsU0FBUyxDQUFTO0lBQ2xCLHFCQUFxQixHQUFZLEtBQUssQ0FBQztJQUV0QyxVQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFN0QsWUFBb0IsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7SUFDakQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUU3QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO2FBQzdEO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtJQUNSLFlBQVk7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztrRkEvQlUsd0JBQXdCOzZEQUF4Qix3QkFBd0I7WUMxQnJDLHlFQWlCTTs7WUFqQkEseUNBQW9COzs7dUZEMEJiLHdCQUF3QjtjQUpwQyxTQUFTOzJCQUNFLDBCQUEwQjtvRUFTM0IsSUFBSTtrQkFBWixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLHFCQUFxQjtrQkFBN0IsS0FBSztZQUVJLFVBQVU7a0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTQgQXVnIDIwMThcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7QXBwQ29udGV4dFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1idXlhY2Nlc3MtYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdXlBY2Nlc3NCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnRleHRVcGRhdGVkID0gZmFsc2U7XHJcbiAgaXNVc2VyU2lnbmVkSW4gPSBmYWxzZTtcclxuICBjdXJyZW50UGxhbiA9IC0xO1xyXG4gIGN1cnJlbnRQbGFuVGl0bGUgPSAnJztcclxuXHJcbiAgQElucHV0KCkgcGxhbjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHBsYW5UaXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHZpc2libGVJZlVzZXJTaWduZWRJbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgcGxhbnNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwQ29udGV4dDogQXBwQ29udGV4dFNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hcHBDb250ZXh0LmdldEN1cnJlbnQoKGN1cnJlbnQpID0+IHtcclxuICAgICAgdGhpcy5pc1VzZXJTaWduZWRJbiA9IGN1cnJlbnQuaXNVc2VyU2lnbmVkSW47XHJcblxyXG4gICAgICBpZiAodGhpcy5pc1VzZXJTaWduZWRJbikge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBsYW4gPSBjdXJyZW50LmFjY291bnQuYmlsbGluZ1BsYW47XHJcbiAgICAgICAgdGhpcy5jdXJyZW50UGxhblRpdGxlID0gY3VycmVudC5hY2NvdW50LmJpbGxpbmdQbGFuQXNTdHJpbmc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuY29udGV4dFVwZGF0ZWQgPSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0V2ZW50c1xyXG4gIG9uUGxhblNlbGVjdCgpIHtcclxuICAgIHRoaXMucGxhbnNlbGVjdC5lbWl0KHRoaXMucGxhbik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJjb250ZXh0VXBkYXRlZFwiPlxyXG4gIDxkaXYgKm5nSWY9XCIhaXNVc2VyU2lnbmVkSW5cIj5cclxuICAgIDxhbmF0b2x5LXNpZ251cC1idXR0b24gY2xhc3NidG49XCJidG4gYnRuLWJsb2NrIGJ0bi1wcmltYXJ5XCI+PC9hbmF0b2x5LXNpZ251cC1idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJpc1VzZXJTaWduZWRJbiAmJiB2aXNpYmxlSWZVc2VyU2lnbmVkSW5cIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWJsb2NrIGJ0bi1zdWNjZXNzIHNlbGVjdFBsYW5cIiBcclxuICAgICAgICAgICAgKm5nSWY9XCJwbGFuID09IGN1cnJlbnRQbGFuXCI+XHJcbiAgICAgIFlvdXIgUGxhblxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tYmxvY2sgIGJ0bi13YXJuaW5nIHNlbGVjdFBsYW5cIiBcclxuICAgICAgICAgICAgKm5nSWY9XCJwbGFuICE9IGN1cnJlbnRQbGFuICYmIGN1cnJlbnRQbGFuID09IDFcIiBcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uUGxhblNlbGVjdCgpXCI+XHJcbiAgICAgIEJ1eSBOb3dcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iaWxsaW5nL2J1eWFjY2Vzcy1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvYmlsbGluZy9idXlhY2Nlc3MtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ2hCM0UsMkJBQTZCO0lBQzNCLDJDQUFvRjtJQUN0RixpQkFBTTs7O0lBR0osaUNBQ29DO0lBQ2xDLDJCQUNGO0lBQUEsaUJBQVM7Ozs7SUFFVCxpQ0FFaUM7SUFBekIscUxBQVMsZUFBQSxxQkFBYyxDQUFBLElBQUM7SUFDOUIseUJBQ0Y7SUFBQSxpQkFBUzs7O0lBVlgsMkJBQXFEO0lBQ25ELDJGQUdTO0lBRVQsMkZBSVM7SUFDWCxpQkFBTTs7O0lBVEssZUFBeUI7SUFBekIsd0RBQXlCO0lBS3pCLGVBQTZDO0lBQTdDLG1GQUE2Qzs7O0lBWjFELDJCQUE0QjtJQUMxQiwrRUFFTTtJQUVOLCtFQVdNO0lBQ1IsaUJBQU07OztJQWhCRSxlQUFxQjtJQUFyQiw2Q0FBcUI7SUFJckIsZUFBNkM7SUFBN0MsNEVBQTZDOztBRHFCckQsTUFBTSxPQUFPLHdCQUF3QjtJQVlmO0lBWHBCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDakIsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBRWIsSUFBSSxDQUFTO0lBQ2IsU0FBUyxDQUFTO0lBQ2xCLHFCQUFxQixHQUFZLEtBQUssQ0FBQztJQUV0QyxVQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFN0QsWUFBb0IsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7SUFDakQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNaLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUU3QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO2FBQzdEO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtJQUNSLFlBQVk7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztrRkFuQ1Usd0JBQXdCOzZEQUF4Qix3QkFBd0I7WUMxQnJDLHlFQWlCTTs7WUFqQkEseUNBQW9COzs7dUZEMEJiLHdCQUF3QjtjQUpwQyxTQUFTOzJCQUNFLDBCQUEwQjtvRUFTM0IsSUFBSTtrQkFBWixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLHFCQUFxQjtrQkFBN0IsS0FBSztZQUVJLFVBQVU7a0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTQgQXVnIDIwMThcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7QXBwQ29udGV4dFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1idXlhY2Nlc3MtYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdXlBY2Nlc3NCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnRleHRVcGRhdGVkID0gZmFsc2U7XHJcbiAgaXNVc2VyU2lnbmVkSW4gPSBmYWxzZTtcclxuICBjdXJyZW50UGxhbiA9IC0xO1xyXG4gIGN1cnJlbnRQbGFuVGl0bGUgPSAnJztcclxuXHJcbiAgQElucHV0KCkgcGxhbjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHBsYW5UaXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHZpc2libGVJZlVzZXJTaWduZWRJbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgcGxhbnNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwQ29udGV4dDogQXBwQ29udGV4dFNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hcHBDb250ZXh0LnVwZGF0ZWQkLnN1YnNjcmliZSgoY29udGV4dCkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRleHQpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuaXNVc2VyU2lnbmVkSW4gPSBjb250ZXh0LmlzVXNlclNpZ25lZEluO1xyXG5cclxuICAgICAgaWYgKHRoaXMuaXNVc2VyU2lnbmVkSW4pIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRQbGFuID0gY29udGV4dC5hY2NvdW50LmJpbGxpbmdQbGFuO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBsYW5UaXRsZSA9IGNvbnRleHQuYWNjb3VudC5iaWxsaW5nUGxhbkFzU3RyaW5nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9FdmVudHNcclxuICBvblBsYW5TZWxlY3QoKSB7XHJcbiAgICB0aGlzLnBsYW5zZWxlY3QuZW1pdCh0aGlzLnBsYW4pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiY29udGV4dFVwZGF0ZWRcIj5cclxuICA8ZGl2ICpuZ0lmPVwiIWlzVXNlclNpZ25lZEluXCI+XHJcbiAgICA8YW5hdG9seS1zaWdudXAtYnV0dG9uIGNsYXNzYnRuPVwiYnRuIGJ0bi1ibG9jayBidG4tcHJpbWFyeVwiPjwvYW5hdG9seS1zaWdudXAtYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwiaXNVc2VyU2lnbmVkSW4gJiYgdmlzaWJsZUlmVXNlclNpZ25lZEluXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1ibG9jayBidG4tc3VjY2VzcyBzZWxlY3RQbGFuXCIgXHJcbiAgICAgICAgICAgICpuZ0lmPVwicGxhbiA9PSBjdXJyZW50UGxhblwiPlxyXG4gICAgICBZb3VyIFBsYW5cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWJsb2NrICBidG4td2FybmluZyBzZWxlY3RQbGFuXCIgXHJcbiAgICAgICAgICAgICpuZ0lmPVwicGxhbiAhPSBjdXJyZW50UGxhbiAmJiBjdXJyZW50UGxhbiA9PSAxXCIgXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvblBsYW5TZWxlY3QoKVwiPlxyXG4gICAgICBCdXkgTm93XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -84,13 +84,16 @@ export class SubscribePlanButtonComponent {
84
84
  this.appContext = appContext;
85
85
  }
86
86
  ngOnInit() {
87
- this.appContext.getCurrent((current) => {
88
- this.isUserSignedIn = current.isUserSignedIn;
87
+ this.appContext.updated$.subscribe((context) => {
88
+ if (!context) {
89
+ return;
90
+ }
91
+ this.isUserSignedIn = context.isUserSignedIn;
89
92
  if (this.isUserSignedIn) {
90
- this.currentPlan = current.account.billingPlan;
91
- this.currentPlanTitle = current.account.billingPlanAsString;
92
- this.requestedPlan = current.account.requestedBillingPlan;
93
- this.requestedPlanTitle = current.account.requestedBillingPlanAsString;
93
+ this.currentPlan = context.account.billingPlan;
94
+ this.currentPlanTitle = context.account.billingPlanAsString;
95
+ this.requestedPlan = context.account.requestedBillingPlan;
96
+ this.requestedPlanTitle = context.account.requestedBillingPlanAsString;
94
97
  }
95
98
  this.contextUpdated = true;
96
99
  });
@@ -118,4 +121,4 @@ export class SubscribePlanButtonComponent {
118
121
  }], planselect: [{
119
122
  type: Output
120
123
  }] }); })();
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2JpbGxpbmcvc3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2JpbGxpbmcvc3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ2hCN0UsMkJBQTZCO0lBQzNCLDJDQUFvRjtJQUN0RixpQkFBTTs7O0lBR0osaUNBQ29DO0lBQ2xDLDJCQUNGO0lBQUEsaUJBQVM7OztJQUVULGlDQUNzQztJQUNwQywyQkFDRjtJQUFBLGlCQUFTOzs7O0lBRVQsaUNBRWlDO0lBQXpCLHlMQUFTLGVBQUEscUJBQWMsQ0FBQSxJQUFDO0lBQzlCLDJCQUNGO0lBQUEsaUJBQVM7OztJQWZYLDJCQUFxRDtJQUNuRCwrRkFHUztJQUVULCtGQUdTO0lBRVQsK0ZBSVM7SUFDWCxpQkFBTTs7O0lBZEssZUFBeUI7SUFBekIsd0RBQXlCO0lBS3pCLGVBQTJCO0lBQTNCLDBEQUEyQjtJQUszQixlQUFrRDtJQUFsRCwrRkFBa0Q7OztJQWpCL0QsMkJBQTRCO0lBQzFCLG1GQUVNO0lBRU4sbUZBZ0JNO0lBQ1IsaUJBQU07OztJQXJCRSxlQUFxQjtJQUFyQiw2Q0FBcUI7SUFJckIsZUFBNkM7SUFBN0MsNEVBQTZDOztBRHFCckQsTUFBTSxPQUFPLDRCQUE0QjtJQWNuQjtJQWJwQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUN0QixhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbkIsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0lBRWYsSUFBSSxDQUFTO0lBQ2IsU0FBUyxDQUFTO0lBQ2xCLHFCQUFxQixHQUFZLEtBQUssQ0FBQztJQUV0QyxVQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFN0QsWUFBb0IsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7SUFDakQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUU3QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO2dCQUM1RCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUM7Z0JBQzFELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDO2FBQ3hFO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtJQUNSLFlBQVk7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztzRkFuQ1UsNEJBQTRCOzZEQUE1Qiw0QkFBNEI7WUMxQnpDLDZFQXNCTTs7WUF0QkEseUNBQW9COzs7dUZEMEJiLDRCQUE0QjtjQUp4QyxTQUFTOzJCQUNFLCtCQUErQjtvRUFXaEMsSUFBSTtrQkFBWixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLHFCQUFxQjtrQkFBN0IsS0FBSztZQUVJLFVBQVU7a0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMSBKdW4gMjAxOFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEFwcENvbnRleHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhbmF0b2x5LXN1YnNjcmliZS1wbGFuLWJ1dHRvblwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vc3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5odG1sXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdWJzY3JpYmVQbGFuQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb250ZXh0VXBkYXRlZCA9IGZhbHNlO1xyXG4gIGlzVXNlclNpZ25lZEluID0gZmFsc2U7XHJcbiAgY3VycmVudFBsYW4gPSAtMTtcclxuICBjdXJyZW50UGxhblRpdGxlID0gXCJcIjtcclxuICByZXF1ZXN0ZWRQbGFuID0gLTE7XHJcbiAgcmVxdWVzdGVkUGxhblRpdGxlID0gXCJcIjtcclxuXHJcbiAgQElucHV0KCkgcGxhbjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHBsYW5UaXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHZpc2libGVJZlVzZXJTaWduZWRJbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgcGxhbnNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwQ29udGV4dDogQXBwQ29udGV4dFNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hcHBDb250ZXh0LmdldEN1cnJlbnQoKGN1cnJlbnQpID0+IHtcclxuICAgICAgdGhpcy5pc1VzZXJTaWduZWRJbiA9IGN1cnJlbnQuaXNVc2VyU2lnbmVkSW47XHJcblxyXG4gICAgICBpZiAodGhpcy5pc1VzZXJTaWduZWRJbikge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBsYW4gPSBjdXJyZW50LmFjY291bnQuYmlsbGluZ1BsYW47XHJcbiAgICAgICAgdGhpcy5jdXJyZW50UGxhblRpdGxlID0gY3VycmVudC5hY2NvdW50LmJpbGxpbmdQbGFuQXNTdHJpbmc7XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0ZWRQbGFuID0gY3VycmVudC5hY2NvdW50LnJlcXVlc3RlZEJpbGxpbmdQbGFuO1xyXG4gICAgICAgIHRoaXMucmVxdWVzdGVkUGxhblRpdGxlID0gY3VycmVudC5hY2NvdW50LnJlcXVlc3RlZEJpbGxpbmdQbGFuQXNTdHJpbmc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuY29udGV4dFVwZGF0ZWQgPSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0V2ZW50c1xyXG4gIG9uUGxhblNlbGVjdCgpIHtcclxuICAgIHRoaXMucGxhbnNlbGVjdC5lbWl0KHRoaXMucGxhbik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJjb250ZXh0VXBkYXRlZFwiPlxyXG4gIDxkaXYgKm5nSWY9XCIhaXNVc2VyU2lnbmVkSW5cIj5cclxuICAgIDxhbmF0b2x5LXNpZ251cC1idXR0b24gY2xhc3NidG49XCJidG4gYnRuLWJsb2NrIGJ0bi1wcmltYXJ5XCI+PC9hbmF0b2x5LXNpZ251cC1idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJpc1VzZXJTaWduZWRJbiAmJiB2aXNpYmxlSWZVc2VyU2lnbmVkSW5cIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWJsb2NrIGJ0bi1zdWNjZXNzIHNlbGVjdFBsYW5cIiBcclxuICAgICAgICAgICAgKm5nSWY9XCJwbGFuID09IGN1cnJlbnRQbGFuXCI+XHJcbiAgICAgIFlvdXIgUGxhblxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tYmxvY2sgIGJ0bi13YXJuaW5nIHNlbGVjdFBsYW5cIiBcclxuICAgICAgICAgICAgKm5nSWY9XCJwbGFuID09IHJlcXVlc3RlZFBsYW5cIj5cclxuICAgICAgUmVxdWVzdGVkXHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1ibG9jayAgYnRuLXdhcm5pbmcgc2VsZWN0UGxhblwiIFxyXG4gICAgICAgICAgICAqbmdJZj1cInBsYW4gIT0gY3VycmVudFBsYW4gJiYgcGxhbiAhPSByZXF1ZXN0ZWRQbGFuXCIgXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvblBsYW5TZWxlY3QoKVwiPlxyXG4gICAgICBTdWJzY3JpYmVcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2JpbGxpbmcvc3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2JpbGxpbmcvc3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ2hCN0UsMkJBQTZCO0lBQzNCLDJDQUFvRjtJQUN0RixpQkFBTTs7O0lBR0osaUNBQ29DO0lBQ2xDLDJCQUNGO0lBQUEsaUJBQVM7OztJQUVULGlDQUNzQztJQUNwQywyQkFDRjtJQUFBLGlCQUFTOzs7O0lBRVQsaUNBRWlDO0lBQXpCLHlMQUFTLGVBQUEscUJBQWMsQ0FBQSxJQUFDO0lBQzlCLDJCQUNGO0lBQUEsaUJBQVM7OztJQWZYLDJCQUFxRDtJQUNuRCwrRkFHUztJQUVULCtGQUdTO0lBRVQsK0ZBSVM7SUFDWCxpQkFBTTs7O0lBZEssZUFBeUI7SUFBekIsd0RBQXlCO0lBS3pCLGVBQTJCO0lBQTNCLDBEQUEyQjtJQUszQixlQUFrRDtJQUFsRCwrRkFBa0Q7OztJQWpCL0QsMkJBQTRCO0lBQzFCLG1GQUVNO0lBRU4sbUZBZ0JNO0lBQ1IsaUJBQU07OztJQXJCRSxlQUFxQjtJQUFyQiw2Q0FBcUI7SUFJckIsZUFBNkM7SUFBN0MsNEVBQTZDOztBRHFCckQsTUFBTSxPQUFPLDRCQUE0QjtJQWNuQjtJQWJwQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUN0QixhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbkIsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0lBRWYsSUFBSSxDQUFTO0lBQ2IsU0FBUyxDQUFTO0lBQ2xCLHFCQUFxQixHQUFZLEtBQUssQ0FBQztJQUV0QyxVQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFN0QsWUFBb0IsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7SUFDakQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNaLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUU3QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO2dCQUM1RCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUM7Z0JBQzFELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDO2FBQ3hFO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtJQUNSLFlBQVk7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztzRkF2Q1UsNEJBQTRCOzZEQUE1Qiw0QkFBNEI7WUMxQnpDLDZFQXNCTTs7WUF0QkEseUNBQW9COzs7dUZEMEJiLDRCQUE0QjtjQUp4QyxTQUFTOzJCQUNFLCtCQUErQjtvRUFXaEMsSUFBSTtrQkFBWixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLHFCQUFxQjtrQkFBN0IsS0FBSztZQUVJLFVBQVU7a0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMSBKdW4gMjAxOFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEFwcENvbnRleHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhbmF0b2x5LXN1YnNjcmliZS1wbGFuLWJ1dHRvblwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vc3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5odG1sXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdWJzY3JpYmVQbGFuQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb250ZXh0VXBkYXRlZCA9IGZhbHNlO1xyXG4gIGlzVXNlclNpZ25lZEluID0gZmFsc2U7XHJcbiAgY3VycmVudFBsYW4gPSAtMTtcclxuICBjdXJyZW50UGxhblRpdGxlID0gXCJcIjtcclxuICByZXF1ZXN0ZWRQbGFuID0gLTE7XHJcbiAgcmVxdWVzdGVkUGxhblRpdGxlID0gXCJcIjtcclxuXHJcbiAgQElucHV0KCkgcGxhbjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHBsYW5UaXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHZpc2libGVJZlVzZXJTaWduZWRJbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgcGxhbnNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwQ29udGV4dDogQXBwQ29udGV4dFNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hcHBDb250ZXh0LnVwZGF0ZWQkLnN1YnNjcmliZSgoY29udGV4dCkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRleHQpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuaXNVc2VyU2lnbmVkSW4gPSBjb250ZXh0LmlzVXNlclNpZ25lZEluO1xyXG5cclxuICAgICAgaWYgKHRoaXMuaXNVc2VyU2lnbmVkSW4pIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRQbGFuID0gY29udGV4dC5hY2NvdW50LmJpbGxpbmdQbGFuO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBsYW5UaXRsZSA9IGNvbnRleHQuYWNjb3VudC5iaWxsaW5nUGxhbkFzU3RyaW5nO1xyXG4gICAgICAgIHRoaXMucmVxdWVzdGVkUGxhbiA9IGNvbnRleHQuYWNjb3VudC5yZXF1ZXN0ZWRCaWxsaW5nUGxhbjtcclxuICAgICAgICB0aGlzLnJlcXVlc3RlZFBsYW5UaXRsZSA9IGNvbnRleHQuYWNjb3VudC5yZXF1ZXN0ZWRCaWxsaW5nUGxhbkFzU3RyaW5nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9FdmVudHNcclxuICBvblBsYW5TZWxlY3QoKSB7XHJcbiAgICB0aGlzLnBsYW5zZWxlY3QuZW1pdCh0aGlzLnBsYW4pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiY29udGV4dFVwZGF0ZWRcIj5cclxuICA8ZGl2ICpuZ0lmPVwiIWlzVXNlclNpZ25lZEluXCI+XHJcbiAgICA8YW5hdG9seS1zaWdudXAtYnV0dG9uIGNsYXNzYnRuPVwiYnRuIGJ0bi1ibG9jayBidG4tcHJpbWFyeVwiPjwvYW5hdG9seS1zaWdudXAtYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwiaXNVc2VyU2lnbmVkSW4gJiYgdmlzaWJsZUlmVXNlclNpZ25lZEluXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1ibG9jayBidG4tc3VjY2VzcyBzZWxlY3RQbGFuXCIgXHJcbiAgICAgICAgICAgICpuZ0lmPVwicGxhbiA9PSBjdXJyZW50UGxhblwiPlxyXG4gICAgICBZb3VyIFBsYW5cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWJsb2NrICBidG4td2FybmluZyBzZWxlY3RQbGFuXCIgXHJcbiAgICAgICAgICAgICpuZ0lmPVwicGxhbiA9PSByZXF1ZXN0ZWRQbGFuXCI+XHJcbiAgICAgIFJlcXVlc3RlZFxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tYmxvY2sgIGJ0bi13YXJuaW5nIHNlbGVjdFBsYW5cIiBcclxuICAgICAgICAgICAgKm5nSWY9XCJwbGFuICE9IGN1cnJlbnRQbGFuICYmIHBsYW4gIT0gcmVxdWVzdGVkUGxhblwiIFxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25QbGFuU2VsZWN0KClcIj5cclxuICAgICAgU3Vic2NyaWJlXHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -81,8 +81,18 @@ export class ContactUsForm extends BaseEditComponent {
81
81
  }
82
82
  ngOnInit() {
83
83
  this.createFormGroup();
84
- this.appContext.getCurrent(context => {
85
- this.setContext(context);
84
+ this.appContext.updated$.subscribe((context) => {
85
+ if (!context) {
86
+ return;
87
+ }
88
+ this.isUserSignedIn = context.isUserSignedIn;
89
+ this.reCaptchaSiteKey = context.reCaptchaSiteKeyV3;
90
+ this.selectedTopic = this.topicList[3].value;
91
+ this.setFormValue('topic', this.selectedTopic);
92
+ if (this.isUserSignedIn) {
93
+ this.setFormValue('name', context.user.displayNameOrFullName);
94
+ this.setFormValue('email', context.user.email);
95
+ }
86
96
  });
87
97
  }
88
98
  createFormGroup() {
@@ -94,16 +104,6 @@ export class ContactUsForm extends BaseEditComponent {
94
104
  message: new FormControl('', [Validators.required])
95
105
  });
96
106
  }
97
- setContext(context) {
98
- this.isUserSignedIn = context.isUserSignedIn;
99
- this.reCaptchaSiteKey = context.reCaptchaSiteKeyV3;
100
- this.selectedTopic = this.topicList[3].value;
101
- this.setFormValue('topic', this.selectedTopic);
102
- if (this.isUserSignedIn) {
103
- this.setFormValue('name', context.user.displayNameOrFullName);
104
- this.setFormValue('email', context.user.email);
105
- }
106
- }
107
107
  isValid() {
108
108
  return this.formGroup.valid;
109
109
  }
@@ -216,4 +216,4 @@ export class ContactUsForm extends BaseEditComponent {
216
216
  }], submit: [{
217
217
  type: Output
218
218
  }] }); })();
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC11cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9mb3Jtcy9jb250YWN0LXVzL2NvbnRhY3QtdXMudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29udGFjdC11cy9jb250YWN0LXVzLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7Ozs7SUNiaEUsa0NBQThEO0lBQUEsWUFBa0I7SUFBQSxpQkFBUzs7O0lBQWpELHNDQUFxQjtJQUFDLGVBQWtCO0lBQWxCLDhDQUFrQjs7O0lBcUJwRix5QkFBMkI7SUFBQSxtR0FBbUY7SUFBQSxpQkFBSTs7O0lBaUNsSCxrQ0FHc0I7SUFDcEIsd0JBQ0Y7SUFBQSxpQkFBUzs7O0lBSkQsd0RBQXdDOzs7QURwQzFELE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO0lBb0J4QztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBdkJWLGNBQWMsR0FBWSxLQUFLLENBQUM7SUFDaEMsZ0JBQWdCLENBQUM7SUFDakIsYUFBYSxDQUFDO0lBRWQsU0FBUyxHQUFHO1FBQ1YsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUU7UUFDOUIsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7UUFDNUIsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFO1FBQ3hCLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFO1FB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bnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDAyIEF1ZyAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNy0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSZUNhcHRjaGFWM1NlcnZpY2UgfSBmcm9tICduZ3gtY2FwdGNoYSc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBcHBDb250ZXh0U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvbm90aWZpY2F0aW9ucy9zZXJ2aWNlcy9ub3RpZmljYXRpb24tc2VydmljZVwiO1xyXG5pbXBvcnQgeyBFbWFpbHNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9zZXJ2aWNlcy9lbWFpbHMtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlRWRpdENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2Jhc2UvYmFzZS1lZGl0LmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWZvcm1zLWNvbnRhY3R1cy1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC11cy5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGFjdFVzRm9ybSBleHRlbmRzIEJhc2VFZGl0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBpc1VzZXJTaWduZWRJbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHJlQ2FwdGNoYVNpdGVLZXk7XHJcbiAgc2VsZWN0ZWRUb3BpYztcclxuXHJcbiAgdG9waWNMaXN0ID0gW1xyXG4gICAgeyB2YWx1ZTogJ0JpbGxpbmcgJiBQcmljaW5nJyB9LFxyXG4gICAgeyB2YWx1ZTogJ0xlZ2FsICYgUHJpdmFjeScgfSxcclxuICAgIHsgdmFsdWU6ICdSZXBvciBhYnVzZScgfSxcclxuICAgIHsgdmFsdWU6ICdUZWNobmljYWwgU3VwcG9ydCcgfSxcclxuICAgIHsgdmFsdWU6ICdPdGhlcicgfVxyXG4gIF07XHJcblxyXG4gIC8vSW5wdXRzXHJcbiAgQElucHV0KCkgc2hvd0FjdGlvbkJ1dHRvbnMgPSB0cnVlO1xyXG5cclxuICAvL091dHB1dHNcclxuICBAT3V0cHV0KCkgc3VibWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlQ2FwdGNoYTogUmVDYXB0Y2hhVjNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGFwcENvbnRleHQ6IEFwcENvbnRleHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcGk6IEVtYWlsc0FwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwKCk7XHJcbiBcclxuICAgIHRoaXMuYXBwQ29udGV4dC5nZXRDdXJyZW50KGNvbnRleHQgPT4ge1xyXG4gICAgICB0aGlzLnNldENvbnRleHQoY29udGV4dCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUZvcm1Hcm91cCgpIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywgWyBWYWxpZGF0b3JzLnJlcXVpcmVkIF0pLFxyXG4gICAgICBlbWFpbDogbmV3IEZvcm1Db250cm9sKCcnLCBbIFZhbGlkYXRvcnMucmVxdWlyZWQgXSksXHJcbiAgICAgIHRvcGljOiBuZXcgRm9ybUNvbnRyb2woJycsIFsgVmFsaWRhdG9ycy5yZXF1aXJlZCBdKSxcclxuICAgICAgc3ViamVjdDogbmV3IEZvcm1Db250cm9sKCcnLCBbIFZhbGlkYXRvcnMucmVxdWlyZWQgXSksXHJcbiAgICAgIG1lc3NhZ2U6IG5ldyBGb3JtQ29udHJvbCgnJywgWyBWYWxpZGF0b3JzLnJlcXVpcmVkIF0pXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldENvbnRleHQoY29udGV4dCkge1xyXG4gICAgdGhpcy5pc1VzZXJTaWduZWRJbiA9IGNvbnRleHQuaXNVc2VyU2lnbmVkSW47XHJcbiAgICB0aGlzLnJlQ2FwdGNoYVNpdGVLZXkgPSBjb250ZXh0LnJlQ2FwdGNoYVNpdGVLZXlWMztcclxuICAgIHRoaXMuc2VsZWN0ZWRUb3BpYyA9IHRoaXMudG9waWNMaXN0WzNdLnZhbHVlO1xyXG5cclxuICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCd0b3BpYycsIHRoaXMuc2VsZWN0ZWRUb3BpYyk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNVc2VyU2lnbmVkSW4pIHtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ25hbWUnLCBjb250ZXh0LnVzZXIuZGlzcGxheU5hbWVPckZ1bGxOYW1lKTtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2VtYWlsJywgY29udGV4dC51c2VyLmVtYWlsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzVmFsaWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAudmFsaWQ7XHJcbiAgfVxyXG5cclxuICBjb250YWN0VXMoKSB7XHJcbiAgICB0aGlzLmZvcm1TdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldEZvcm1WYWx1ZSgnbmFtZScpO1xyXG4gICAgY29uc3QgZW1haWwgPSB0aGlzLmdldEZvcm1WYWx1ZSgnZW1haWwnKTtcclxuICAgIGNvbnN0IHRvcGljID0gdGhpcy5zZWxlY3RlZFRvcGljO1xyXG4gICAgY29uc3Qgc3ViamVjdCA9IHRoaXMuZ2V0Rm9ybVZhbHVlKCdzdWJqZWN0Jyk7XHJcbiAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5nZXRGb3JtVmFsdWUoJ21lc3NhZ2UnKTtcclxuXHJcbiAgICB0aGlzLnJlQ2FwdGNoYS5leGVjdXRlKHRoaXMucmVDYXB0Y2hhU2l0ZUtleSwgJ0NvbnRhY3RVcycsICh0b2tlbikgPT4ge1xyXG4gICAgICB0aGlzLmFwaS5zZW5kQ29udGFjdFVzKHRva2VuLCBuYW1lLCBlbWFpbCwgdG9waWMsIHN1YmplY3QsIG1lc3NhZ2UsXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5mb3JtU3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc3VjY2VzcygnTWVzc2FnZSBoYXMgYmVlbiBzZW50IHN1Y2Nlc3NmdWxseScpO1xyXG4gICAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcclxuICBcclxuICAgICAgICAgIHRoaXMuc3VibWl0LmVtaXQoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5lcnJvcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9FdmVudHNcclxuICBvblN1Ym1pdCgpIHtcclxuICAgIHRoaXMuY29udGFjdFVzKCk7XHJcbiAgfVxyXG5cclxuICBvblRvcGljQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVG9waWMgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIChuZ1N1Ym1pdCk9J29uU3VibWl0KCknIFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnIG5vdmFsaWRhdGU+XHJcbiAgPGFuYXRvbHktZm9ybS12YWxpZGF0aW9uLXN1bW1hcnkgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlzaWJsZV09J2Zvcm1TdWJtaXR0ZWQgJiYgZm9ybUdyb3VwLmludmFsaWQnPjwvYW5hdG9seS1mb3JtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuXHJcbiAgPGRpdiBjbGFzcz0nY29udGFjdC11cyc+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZmllbGRzIGNvbC02Jz5cclxuICAgICAgICA8cD5XaGF0IGNhbiB3ZSBoZWxwIHlvdSB3aXRoPzwvcD5cclxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgndG9waWMnKSB9XCIgY2xhc3M9J2Zvcm0tdG9waWMnPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz0nZm9ybS1zZWxlY3Qtd3JhcHBlcic+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0nYXNzaXN0aXZlLXRleHQnPlRvcGljICo8L2xhYmVsPlxyXG4gICAgICAgICAgICA8c2VsZWN0IChjaGFuZ2UpPSdvblRvcGljQ2hhbmdlKCRldmVudCknIGNsYXNzPSdmb3JtLXNlbGVjdCcgZm9ybUNvbnRyb2xOYW1lPSd0b3BpYyc+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9J2xldCB0b3BpYyBvZiB0b3BpY0xpc3QnIFt2YWx1ZV09J3RvcGljLnZhbHVlJz57eyB0b3BpYy52YWx1ZSB9fSA8L29wdGlvbj5cclxuICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbE5hbWU9J3RvcGljJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J3RvcGljJz5cclxuICAgICAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ25hbWUnKSB9XCIgY2xhc3M9J2Zvcm0tbmFtZSc+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9J2Fzc2lzdGl2ZS10ZXh0Jz5OYW1lICo8L2xhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IGNsYXNzPSdmb3JtLWNvbnRyb2wnIGZvcm1Db250cm9sTmFtZT0nbmFtZScgcGxhY2Vob2xkZXI9J05hbWUgKicgdHlwZT0ndGV4dCc+XHJcbiAgICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbE5hbWU9J25hbWUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J25hbWUnPlxyXG4gICAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdlbWFpbCcpIH1cIiBjbGFzcz0nZm9ybS1lbWFpbCc+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9J2Fzc2lzdGl2ZS10ZXh0Jz5FLW1haWwgKiA8L2xhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IGNsYXNzPSdmb3JtLWNvbnRyb2wnIGZvcm1Db250cm9sTmFtZT0nZW1haWwnIHBsYWNlaG9sZGVyPSdFLW1haWwgKicgdHlwZT0ndGV4dCcgLz5cclxuICAgICAgICAgIDxwICpuZ0lmPSchaXNVc2VyU2lnbmVkSW4nPlBsZWFzZSBpbmRpY2F0ZSB0aGUgZW1haWwgdXNlZCBmb3IgeW91ciBNYWlsRXggbG9naW4gaWYgeW91IGFscmVhZHkgaGF2ZSBhbiBhY2NvdW50PC9wPlxyXG4gICAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xOYW1lPSdlbWFpbCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUaXRsZT0nZW1haWwnPlxyXG4gICAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdzdWJqZWN0JykgfVwiIGNsYXNzPSdmb3JtLXN1YmplY3QnPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSdhc3Npc3RpdmUtdGV4dCc+U3ViamVjdCAqPC9sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBjbGFzcz0nZm9ybS1jb250cm9sJyBmb3JtQ29udHJvbE5hbWU9J3N1YmplY3QnIHBsYWNlaG9sZGVyPSdTdWJqZWN0IConIHR5cGU9J3RleHQnIC8+XHJcbiAgICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbE5hbWU9J3N1YmplY3QnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J3N1YmplY3QnPlxyXG4gICAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2NvbC02Jz5cclxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnbWVzc2FnZScpIH1cIiBjbGFzcz0nZm9ybS1tZXNzYWdlJz5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz0nYXNzaXN0aXZlLXRleHQnPk1lc3NhZ2UgKjwvbGFiZWw+XHJcbiAgICAgICAgICA8dGV4dGFyZWEgZm9ybUNvbnRyb2xOYW1lPSdtZXNzYWdlJyBuYW1lPSdtZXNzYWdlJyBwbGFjZWhvbGRlcj0nTWVzc2FnZSAgKicgcm93cz0nNCdcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPSd0ZXh0Jz48L3RleHRhcmVhPlxyXG4gICAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xOYW1lPSdtZXNzYWdlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdtZXNzYWdlJz5cclxuICAgICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBmb3JtLWZvb3RlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICAgIDxidXR0b24gKm5nSWY9J3Nob3dBY3Rpb25CdXR0b25zJ1xyXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuYnRuLXByaW1hcnldPSchZm9ybUdyb3VwLmludmFsaWQnXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSdidG4gYnRuLXN1Y2Nlc3MnXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9J3N1Ym1pdCc+XHJcbiAgICAgICAgICAgIFN1Ym1pdFxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9mb3JtPlxyXG4iXX0=
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC11cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9mb3Jtcy9jb250YWN0LXVzL2NvbnRhY3QtdXMudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29udGFjdC11cy9jb250YWN0LXVzLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7Ozs7SUNiaEUsa0NBQThEO0lBQUEsWUFBa0I7SUFBQSxpQkFBUzs7O0lBQWpELHNDQUFxQjtJQUFDLGVBQWtCO0lBQWxCLDhDQUFrQjs7O0lBcUJwRix5QkFBMkI7SUFBQSxtR0FBbUY7SUFBQSxpQkFBSTs7O0lBaUNsSCxrQ0FHc0I7SUFDcEIsd0JBQ0Y7SUFBQSxpQkFBUzs7O0lBSkQsd0RBQXdDOzs7QURwQzFELE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO0lBb0J4QztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBdkJWLGNBQWMsR0FBWSxLQUFLLENBQUM7SUFDaEMsZ0JBQWdCLENBQUM7SUFDakIsYUFBYSxDQUFDO0lBRWQsU0FBUyxHQUFHO1FBQ1YsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUU7UUFDOUIsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7UUFDNUIsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFO1FBQ3hCLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFO1FB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aWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAwMiBBdWcgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUmVDYXB0Y2hhVjNTZXJ2aWNlIH0gZnJvbSAnbmd4LWNhcHRjaGEnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQXBwQ29udGV4dFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9hcHBjb250ZXh0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL25vdGlmaWNhdGlvbnMvc2VydmljZXMvbm90aWZpY2F0aW9uLXNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRW1haWxzQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvc2VydmljZXMvZW1haWxzLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZUVkaXRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9iYXNlL2Jhc2UtZWRpdC5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1mb3Jtcy1jb250YWN0dXMtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRhY3QtdXMuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRhY3RVc0Zvcm0gZXh0ZW5kcyBCYXNlRWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgaXNVc2VyU2lnbmVkSW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICByZUNhcHRjaGFTaXRlS2V5O1xyXG4gIHNlbGVjdGVkVG9waWM7XHJcblxyXG4gIHRvcGljTGlzdCA9IFtcclxuICAgIHsgdmFsdWU6ICdCaWxsaW5nICYgUHJpY2luZycgfSxcclxuICAgIHsgdmFsdWU6ICdMZWdhbCAmIFByaXZhY3knIH0sXHJcbiAgICB7IHZhbHVlOiAnUmVwb3IgYWJ1c2UnIH0sXHJcbiAgICB7IHZhbHVlOiAnVGVjaG5pY2FsIFN1cHBvcnQnIH0sXHJcbiAgICB7IHZhbHVlOiAnT3RoZXInIH1cclxuICBdO1xyXG5cclxuICAvL0lucHV0c1xyXG4gIEBJbnB1dCgpIHNob3dBY3Rpb25CdXR0b25zID0gdHJ1ZTtcclxuXHJcbiAgLy9PdXRwdXRzXHJcbiAgQE91dHB1dCgpIHN1Ym1pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZUNhcHRjaGE6IFJlQ2FwdGNoYVYzU2VydmljZSxcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBhcHBDb250ZXh0OiBBcHBDb250ZXh0U2VydmljZSxcclxuICAgIHByaXZhdGUgYXBpOiBFbWFpbHNBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cCgpO1xyXG5cclxuICAgIHRoaXMuYXBwQ29udGV4dC51cGRhdGVkJC5zdWJzY3JpYmUoKGNvbnRleHQpID0+IHtcclxuICAgICAgaWYgKCFjb250ZXh0KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmlzVXNlclNpZ25lZEluID0gY29udGV4dC5pc1VzZXJTaWduZWRJbjtcclxuICAgICAgdGhpcy5yZUNhcHRjaGFTaXRlS2V5ID0gY29udGV4dC5yZUNhcHRjaGFTaXRlS2V5VjM7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUb3BpYyA9IHRoaXMudG9waWNMaXN0WzNdLnZhbHVlO1xyXG5cclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ3RvcGljJywgdGhpcy5zZWxlY3RlZFRvcGljKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLmlzVXNlclNpZ25lZEluKSB7XHJcbiAgICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ25hbWUnLCBjb250ZXh0LnVzZXIuZGlzcGxheU5hbWVPckZ1bGxOYW1lKTtcclxuICAgICAgICB0aGlzLnNldEZvcm1WYWx1ZSgnZW1haWwnLCBjb250ZXh0LnVzZXIuZW1haWwpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUZvcm1Hcm91cCgpIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywgWyBWYWxpZGF0b3JzLnJlcXVpcmVkIF0pLFxyXG4gICAgICBlbWFpbDogbmV3IEZvcm1Db250cm9sKCcnLCBbIFZhbGlkYXRvcnMucmVxdWlyZWQgXSksXHJcbiAgICAgIHRvcGljOiBuZXcgRm9ybUNvbnRyb2woJycsIFsgVmFsaWRhdG9ycy5yZXF1aXJlZCBdKSxcclxuICAgICAgc3ViamVjdDogbmV3IEZvcm1Db250cm9sKCcnLCBbIFZhbGlkYXRvcnMucmVxdWlyZWQgXSksXHJcbiAgICAgIG1lc3NhZ2U6IG5ldyBGb3JtQ29udHJvbCgnJywgWyBWYWxpZGF0b3JzLnJlcXVpcmVkIF0pXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGlzVmFsaWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAudmFsaWQ7XHJcbiAgfVxyXG5cclxuICBjb250YWN0VXMoKSB7XHJcbiAgICB0aGlzLmZvcm1TdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldEZvcm1WYWx1ZSgnbmFtZScpO1xyXG4gICAgY29uc3QgZW1haWwgPSB0aGlzLmdldEZvcm1WYWx1ZSgnZW1haWwnKTtcclxuICAgIGNvbnN0IHRvcGljID0gdGhpcy5zZWxlY3RlZFRvcGljO1xyXG4gICAgY29uc3Qgc3ViamVjdCA9IHRoaXMuZ2V0Rm9ybVZhbHVlKCdzdWJqZWN0Jyk7XHJcbiAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5nZXRGb3JtVmFsdWUoJ21lc3NhZ2UnKTtcclxuXHJcbiAgICB0aGlzLnJlQ2FwdGNoYS5leGVjdXRlKHRoaXMucmVDYXB0Y2hhU2l0ZUtleSwgJ0NvbnRhY3RVcycsICh0b2tlbikgPT4ge1xyXG4gICAgICB0aGlzLmFwaS5zZW5kQ29udGFjdFVzKHRva2VuLCBuYW1lLCBlbWFpbCwgdG9waWMsIHN1YmplY3QsIG1lc3NhZ2UsXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5mb3JtU3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc3VjY2VzcygnTWVzc2FnZSBoYXMgYmVlbiBzZW50IHN1Y2Nlc3NmdWxseScpO1xyXG4gICAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnN1Ym1pdC5lbWl0KCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vRXZlbnRzXHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICB0aGlzLmNvbnRhY3RVcygpO1xyXG4gIH1cclxuXHJcbiAgb25Ub3BpY0NoYW5nZShldmVudCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRvcGljID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSAobmdTdWJtaXQpPSdvblN1Ym1pdCgpJyBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJyBub3ZhbGlkYXRlPlxyXG4gIDxhbmF0b2x5LWZvcm0tdmFsaWRhdGlvbi1zdW1tYXJ5IFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Zpc2libGVdPSdmb3JtU3VibWl0dGVkICYmIGZvcm1Hcm91cC5pbnZhbGlkJz48L2FuYXRvbHktZm9ybS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcblxyXG4gIDxkaXYgY2xhc3M9J2NvbnRhY3QtdXMnPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPSdmb3JtLWZpZWxkcyBjb2wtNic+XHJcbiAgICAgICAgPHA+V2hhdCBjYW4gd2UgaGVscCB5b3Ugd2l0aD88L3A+XHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ3RvcGljJykgfVwiIGNsYXNzPSdmb3JtLXRvcGljJz5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tc2VsZWN0LXdyYXBwZXInPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9J2Fzc2lzdGl2ZS10ZXh0Jz5Ub3BpYyAqPC9sYWJlbD5cclxuICAgICAgICAgICAgPHNlbGVjdCAoY2hhbmdlKT0nb25Ub3BpY0NoYW5nZSgkZXZlbnQpJyBjbGFzcz0nZm9ybS1zZWxlY3QnIGZvcm1Db250cm9sTmFtZT0ndG9waWMnPlxyXG4gICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPSdsZXQgdG9waWMgb2YgdG9waWNMaXN0JyBbdmFsdWVdPSd0b3BpYy52YWx1ZSc+e3sgdG9waWMudmFsdWUgfX0gPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xOYW1lPSd0b3BpYydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSd0b3BpYyc+XHJcbiAgICAgICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCduYW1lJykgfVwiIGNsYXNzPSdmb3JtLW5hbWUnPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSdhc3Npc3RpdmUtdGV4dCc+TmFtZSAqPC9sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBjbGFzcz0nZm9ybS1jb250cm9sJyBmb3JtQ29udHJvbE5hbWU9J25hbWUnIHBsYWNlaG9sZGVyPSdOYW1lIConIHR5cGU9J3RleHQnPlxyXG4gICAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xOYW1lPSduYW1lJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSduYW1lJz5cclxuICAgICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnZW1haWwnKSB9XCIgY2xhc3M9J2Zvcm0tZW1haWwnPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSdhc3Npc3RpdmUtdGV4dCc+RS1tYWlsICogPC9sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBjbGFzcz0nZm9ybS1jb250cm9sJyBmb3JtQ29udHJvbE5hbWU9J2VtYWlsJyBwbGFjZWhvbGRlcj0nRS1tYWlsIConIHR5cGU9J3RleHQnIC8+XHJcbiAgICAgICAgICA8cCAqbmdJZj0nIWlzVXNlclNpZ25lZEluJz5QbGVhc2UgaW5kaWNhdGUgdGhlIGVtYWlsIHVzZWQgZm9yIHlvdXIgTWFpbEV4IGxvZ2luIGlmIHlvdSBhbHJlYWR5IGhhdmUgYW4gYWNjb3VudDwvcD5cclxuICAgICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sTmFtZT0nZW1haWwnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J2VtYWlsJz5cclxuICAgICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnc3ViamVjdCcpIH1cIiBjbGFzcz0nZm9ybS1zdWJqZWN0Jz5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz0nYXNzaXN0aXZlLXRleHQnPlN1YmplY3QgKjwvbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgY2xhc3M9J2Zvcm0tY29udHJvbCcgZm9ybUNvbnRyb2xOYW1lPSdzdWJqZWN0JyBwbGFjZWhvbGRlcj0nU3ViamVjdCAqJyB0eXBlPSd0ZXh0JyAvPlxyXG4gICAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xOYW1lPSdzdWJqZWN0J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdzdWJqZWN0Jz5cclxuICAgICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPSdjb2wtNic+XHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ21lc3NhZ2UnKSB9XCIgY2xhc3M9J2Zvcm0tbWVzc2FnZSc+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9J2Fzc2lzdGl2ZS10ZXh0Jz5NZXNzYWdlICo8L2xhYmVsPlxyXG4gICAgICAgICAgPHRleHRhcmVhIGZvcm1Db250cm9sTmFtZT0nbWVzc2FnZScgbmFtZT0nbWVzc2FnZScgcGxhY2Vob2xkZXI9J01lc3NhZ2UgIConIHJvd3M9JzQnXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT0ndGV4dCc+PC90ZXh0YXJlYT5cclxuICAgICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sTmFtZT0nbWVzc2FnZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUaXRsZT0nbWVzc2FnZSc+XHJcbiAgICAgICAgICA8L2FuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZm9ybS1mb290ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPSdzaG93QWN0aW9uQnV0dG9ucydcclxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1wcmltYXJ5XT0nIWZvcm1Hcm91cC5pbnZhbGlkJ1xyXG4gICAgICAgICAgICAgICAgICBjbGFzcz0nYnRuIGJ0bi1zdWNjZXNzJ1xyXG4gICAgICAgICAgICAgICAgICB0eXBlPSdzdWJtaXQnPlxyXG4gICAgICAgICAgICBTdWJtaXRcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZm9ybT5cclxuIl19