@jeraldj/discussions-ui 8.0.3-v16

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.
Files changed (174) hide show
  1. package/README.md +24 -0
  2. package/assets/images/Buffer-512.webp +0 -0
  3. package/assets/images/announcement.svg +25 -0
  4. package/assets/images/back-img.png +0 -0
  5. package/assets/images/bookmarks.png +0 -0
  6. package/assets/images/card-icon.png +0 -0
  7. package/assets/images/close.png +0 -0
  8. package/assets/images/delete.svg +13 -0
  9. package/assets/images/down-arrow.png +0 -0
  10. package/assets/images/down-chevron.png +0 -0
  11. package/assets/images/down.svg +12 -0
  12. package/assets/images/edit.svg +11 -0
  13. package/assets/images/empty.svg +37 -0
  14. package/assets/images/eye-icon.png +0 -0
  15. package/assets/images/general discussion.svg +15 -0
  16. package/assets/images/import-export-arrows.png +0 -0
  17. package/assets/images/loader-icon.svg +6 -0
  18. package/assets/images/profits.png +0 -0
  19. package/assets/images/search-icon.png +0 -0
  20. package/assets/images/select-bookmarks.png +0 -0
  21. package/assets/images/select-down-arrow.png +0 -0
  22. package/assets/images/select-profits.png +0 -0
  23. package/assets/images/select-up-arrow.png +0 -0
  24. package/assets/images/up-arrow.png +0 -0
  25. package/assets/images/up-chevron.png +0 -0
  26. package/assets/images/up.svg +12 -0
  27. package/assets/images/views.svg +9 -0
  28. package/assets/images/votes.svg +14 -0
  29. package/assets/styles/global.scss +283 -0
  30. package/esm2022/jeraldj-discussions-ui.mjs +5 -0
  31. package/esm2022/lib/common/constants.json +630 -0
  32. package/esm2022/lib/components/components.module.mjs +105 -0
  33. package/esm2022/lib/components/discuss-all/discuss-all.component.mjs +269 -0
  34. package/esm2022/lib/components/discuss-category/discuss-category.component.mjs +152 -0
  35. package/esm2022/lib/components/discuss-home/discuss-home.component.mjs +142 -0
  36. package/esm2022/lib/components/discuss-start/discuss-start.component.mjs +199 -0
  37. package/esm2022/lib/components/discuss-tags/discuss-tags.component.mjs +93 -0
  38. package/esm2022/lib/components/discussion-details/discussion-details.component.mjs +459 -0
  39. package/esm2022/lib/components/lib-entry/lib-entry.component.mjs +96 -0
  40. package/esm2022/lib/components/my-discussion/my-discussion.component.mjs +234 -0
  41. package/esm2022/lib/components/side-pannel/side-pannel.component.mjs +79 -0
  42. package/esm2022/lib/components/tag-all-discussion/tag-all-discussion.component.mjs +151 -0
  43. package/esm2022/lib/components/trending-tags/trending-tags.component.mjs +62 -0
  44. package/esm2022/lib/config/url.config.mjs +32 -0
  45. package/esm2022/lib/discussion-events.service.mjs +27 -0
  46. package/esm2022/lib/discussion-routing/discussion-routing.module.mjs +80 -0
  47. package/esm2022/lib/discussion-ui.module.mjs +41 -0
  48. package/esm2022/lib/elements/app-loader/app-loader.component.mjs +36 -0
  49. package/esm2022/lib/elements/avatar-photo/avatar-photo.component.mjs +81 -0
  50. package/esm2022/lib/elements/category-card/category-card.component.mjs +17 -0
  51. package/esm2022/lib/elements/discuss-card/discuss-card.component.mjs +45 -0
  52. package/esm2022/lib/elements/elements.module.mjs +69 -0
  53. package/esm2022/lib/elements/load-alert/load-alert.component.mjs +34 -0
  54. package/esm2022/lib/elements/post-reply/post-reply.component.mjs +69 -0
  55. package/esm2022/lib/elements/related-discussion/related-discussion.component.mjs +61 -0
  56. package/esm2022/lib/elements/sliders/sliders.component.mjs +76 -0
  57. package/esm2022/lib/events.service.mjs +31 -0
  58. package/esm2022/lib/models/discuss.model.mjs +16 -0
  59. package/esm2022/lib/models/discussion-config.model.mjs +2 -0
  60. package/esm2022/lib/navigation-service.service.mjs +39 -0
  61. package/esm2022/lib/pipes/pipe-filter/pipe-filter.pipe.mjs +20 -0
  62. package/esm2022/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.mjs +22 -0
  63. package/esm2022/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.mjs +41 -0
  64. package/esm2022/lib/pipes/pipes.module.mjs +24 -0
  65. package/esm2022/lib/pipes/sort-by/sort-by.pipe.mjs +34 -0
  66. package/esm2022/lib/pipes/split-initials/split-initials.pipe.mjs +23 -0
  67. package/esm2022/lib/router-service.service.mjs +21 -0
  68. package/esm2022/lib/services/abstract-config.service.mjs +3 -0
  69. package/esm2022/lib/services/config.service.mjs +76 -0
  70. package/esm2022/lib/services/discuss-utils.service.mjs +36 -0
  71. package/esm2022/lib/services/discussion.service.mjs +254 -0
  72. package/esm2022/lib/telemetry-utils.service.mjs +103 -0
  73. package/esm2022/lib/wrapper/base-wrapper/base-wrapper.component.mjs +41 -0
  74. package/esm2022/lib/wrapper/category-widget/category-widget.component.mjs +37 -0
  75. package/esm2022/lib/wrapper/tags-widget/tags-widget.component.mjs +33 -0
  76. package/esm2022/lib/wrapper-navigate.service.mjs +23 -0
  77. package/esm2022/public-api.mjs +29 -0
  78. package/fesm2022/jeraldj-discussions-ui.mjs +3929 -0
  79. package/fesm2022/jeraldj-discussions-ui.mjs.map +1 -0
  80. package/index.d.ts +6 -0
  81. package/jeraldj-discussions-ui.d.ts.map +1 -0
  82. package/lib/components/components.module.d.ts +24 -0
  83. package/lib/components/components.module.d.ts.map +1 -0
  84. package/lib/components/discuss-all/discuss-all.component.d.ts +61 -0
  85. package/lib/components/discuss-all/discuss-all.component.d.ts.map +1 -0
  86. package/lib/components/discuss-category/discuss-category.component.d.ts +45 -0
  87. package/lib/components/discuss-category/discuss-category.component.d.ts.map +1 -0
  88. package/lib/components/discuss-home/discuss-home.component.d.ts +59 -0
  89. package/lib/components/discuss-home/discuss-home.component.d.ts.map +1 -0
  90. package/lib/components/discuss-start/discuss-start.component.d.ts +50 -0
  91. package/lib/components/discuss-start/discuss-start.component.d.ts.map +1 -0
  92. package/lib/components/discuss-tags/discuss-tags.component.d.ts +41 -0
  93. package/lib/components/discuss-tags/discuss-tags.component.d.ts.map +1 -0
  94. package/lib/components/discussion-details/discussion-details.component.d.ts +112 -0
  95. package/lib/components/discussion-details/discussion-details.component.d.ts.map +1 -0
  96. package/lib/components/lib-entry/lib-entry.component.d.ts +42 -0
  97. package/lib/components/lib-entry/lib-entry.component.d.ts.map +1 -0
  98. package/lib/components/my-discussion/my-discussion.component.d.ts +54 -0
  99. package/lib/components/my-discussion/my-discussion.component.d.ts.map +1 -0
  100. package/lib/components/side-pannel/side-pannel.component.d.ts +34 -0
  101. package/lib/components/side-pannel/side-pannel.component.d.ts.map +1 -0
  102. package/lib/components/tag-all-discussion/tag-all-discussion.component.d.ts +53 -0
  103. package/lib/components/tag-all-discussion/tag-all-discussion.component.d.ts.map +1 -0
  104. package/lib/components/trending-tags/trending-tags.component.d.ts +26 -0
  105. package/lib/components/trending-tags/trending-tags.component.d.ts.map +1 -0
  106. package/lib/config/url.config.d.ts +29 -0
  107. package/lib/config/url.config.d.ts.map +1 -0
  108. package/lib/discussion-events.service.d.ts +12 -0
  109. package/lib/discussion-events.service.d.ts.map +1 -0
  110. package/lib/discussion-routing/discussion-routing.module.d.ts +9 -0
  111. package/lib/discussion-routing/discussion-routing.module.d.ts.map +1 -0
  112. package/lib/discussion-ui.module.d.ts +16 -0
  113. package/lib/discussion-ui.module.d.ts.map +1 -0
  114. package/lib/elements/app-loader/app-loader.component.d.ts +17 -0
  115. package/lib/elements/app-loader/app-loader.component.d.ts.map +1 -0
  116. package/lib/elements/avatar-photo/avatar-photo.component.d.ts +19 -0
  117. package/lib/elements/avatar-photo/avatar-photo.component.d.ts.map +1 -0
  118. package/lib/elements/category-card/category-card.component.d.ts +10 -0
  119. package/lib/elements/category-card/category-card.component.d.ts.map +1 -0
  120. package/lib/elements/discuss-card/discuss-card.component.d.ts +17 -0
  121. package/lib/elements/discuss-card/discuss-card.component.d.ts.map +1 -0
  122. package/lib/elements/elements.module.d.ts +18 -0
  123. package/lib/elements/elements.module.d.ts.map +1 -0
  124. package/lib/elements/load-alert/load-alert.component.d.ts +15 -0
  125. package/lib/elements/load-alert/load-alert.component.d.ts.map +1 -0
  126. package/lib/elements/post-reply/post-reply.component.d.ts +22 -0
  127. package/lib/elements/post-reply/post-reply.component.d.ts.map +1 -0
  128. package/lib/elements/related-discussion/related-discussion.component.d.ts +26 -0
  129. package/lib/elements/related-discussion/related-discussion.component.d.ts.map +1 -0
  130. package/lib/elements/sliders/sliders.component.d.ts +18 -0
  131. package/lib/elements/sliders/sliders.component.d.ts.map +1 -0
  132. package/lib/events.service.d.ts +18 -0
  133. package/lib/events.service.d.ts.map +1 -0
  134. package/lib/models/discuss.model.d.ts +298 -0
  135. package/lib/models/discuss.model.d.ts.map +1 -0
  136. package/lib/models/discussion-config.model.d.ts +42 -0
  137. package/lib/models/discussion-config.model.d.ts.map +1 -0
  138. package/lib/navigation-service.service.d.ts +22 -0
  139. package/lib/navigation-service.service.d.ts.map +1 -0
  140. package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts +8 -0
  141. package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts.map +1 -0
  142. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts +8 -0
  143. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts.map +1 -0
  144. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts +8 -0
  145. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts.map +1 -0
  146. package/lib/pipes/pipes.module.d.ts +13 -0
  147. package/lib/pipes/pipes.module.d.ts.map +1 -0
  148. package/lib/pipes/sort-by/sort-by.pipe.d.ts +8 -0
  149. package/lib/pipes/sort-by/sort-by.pipe.d.ts.map +1 -0
  150. package/lib/pipes/split-initials/split-initials.pipe.d.ts +8 -0
  151. package/lib/pipes/split-initials/split-initials.pipe.d.ts.map +1 -0
  152. package/lib/router-service.service.d.ts +10 -0
  153. package/lib/router-service.service.d.ts.map +1 -0
  154. package/lib/services/abstract-config.service.d.ts +4 -0
  155. package/lib/services/abstract-config.service.d.ts.map +1 -0
  156. package/lib/services/config.service.d.ts +36 -0
  157. package/lib/services/config.service.d.ts.map +1 -0
  158. package/lib/services/discuss-utils.service.d.ts +14 -0
  159. package/lib/services/discuss-utils.service.d.ts.map +1 -0
  160. package/lib/services/discussion.service.d.ts +76 -0
  161. package/lib/services/discussion.service.d.ts.map +1 -0
  162. package/lib/telemetry-utils.service.d.ts +20 -0
  163. package/lib/telemetry-utils.service.d.ts.map +1 -0
  164. package/lib/wrapper/base-wrapper/base-wrapper.component.d.ts +22 -0
  165. package/lib/wrapper/base-wrapper/base-wrapper.component.d.ts.map +1 -0
  166. package/lib/wrapper/category-widget/category-widget.component.d.ts +23 -0
  167. package/lib/wrapper/category-widget/category-widget.component.d.ts.map +1 -0
  168. package/lib/wrapper/tags-widget/tags-widget.component.d.ts +17 -0
  169. package/lib/wrapper/tags-widget/tags-widget.component.d.ts.map +1 -0
  170. package/lib/wrapper-navigate.service.d.ts +11 -0
  171. package/lib/wrapper-navigate.service.d.ts.map +1 -0
  172. package/package.json +44 -0
  173. package/public-api.d.ts +26 -0
  174. package/public-api.d.ts.map +1 -0
@@ -0,0 +1,254 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { map } from 'rxjs/operators';
4
+ import { urlConfig } from './../config/url.config';
5
+ /* tslint:disable */
6
+ import * as _ from 'lodash';
7
+ import { CsModule } from '@jeraldj/client-services';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/common/http";
10
+ import * as i2 from "@jeraldj/client-services";
11
+ /* tslint:enable */
12
+ export const CONTEXT_PROPS = {
13
+ cid: 'cid',
14
+ tid: 'tid',
15
+ uid: 'uid'
16
+ };
17
+ export class DiscussionService {
18
+ constructor(http, csModule) {
19
+ this.http = http;
20
+ this.csModule = csModule;
21
+ // tslint:disable-next-line:variable-name
22
+ this._context = {};
23
+ this.alertEvent = new Subject();
24
+ // TODO: Take from the logged in user data;
25
+ // this.usr = this.configSvc.userProfile
26
+ this.usr = { userId: '1234' };
27
+ console.log('CsModule init---', CsModule.instance);
28
+ this.csDiscussionService = CsModule.instance.discussionService;
29
+ }
30
+ initializeUserDetails(userId) {
31
+ userId = userId;
32
+ this.userDetails = JSON.parse(sessionStorage.getItem('dFUserDetails'));
33
+ this.fetchUserProfile(userId).subscribe(response => {
34
+ this.userDetails = response;
35
+ sessionStorage.setItem('dFUserDetails', JSON.stringify(response));
36
+ }, (error) => {
37
+ // TODO: toaster error
38
+ console.log('error fetching user details');
39
+ });
40
+ }
41
+ appendPage(page, url) {
42
+ if (page) {
43
+ return `${url}?page=${page}`;
44
+ }
45
+ return `${url}?page=1`;
46
+ }
47
+ fetchAllTags() {
48
+ // const tags = this.http.get(urlConfig.getAllTags())
49
+ // .toPromise();
50
+ // return tags;
51
+ console.log('innn fetchAllTags');
52
+ return this.csDiscussionService.fetchAllTags();
53
+ }
54
+ createPost(data) {
55
+ // return this.http.post(urlConfig.createPost(), data);
56
+ return this.csDiscussionService.createPost(data);
57
+ }
58
+ /**
59
+ * @description To get all the categories
60
+ */
61
+ fetchAllCategories() {
62
+ // return this.http.get<NSDiscussData.ICategorie[]>(urlConfig.getAllCategories()).pipe(
63
+ // map((data: any) => {
64
+ // // Taking only "categories" from the response
65
+ // const resp = (data as any).categories;
66
+ // return resp;
67
+ // }),
68
+ // catchError( error => {
69
+ // return throwError( 'Something went wrong!' );
70
+ // })
71
+ // );
72
+ console.log('in fetchall categories');
73
+ return this.csDiscussionService.fetchAllCategories().pipe(map((data) => data.categories));
74
+ }
75
+ fetchSingleCategoryDetails(cid) {
76
+ return this.csDiscussionService.fetchSingleCategoryDetails(cid);
77
+ // return this.http.get<NSDiscussData.ICategorie>(urlConfig.getSingleCategoryDetails(cid));
78
+ }
79
+ fetchSingleCategoryDetailsSort(cid, sort, page) {
80
+ return this.csDiscussionService.fetchSingleCategoryDetails(cid);
81
+ }
82
+ fetchAllTag() {
83
+ return this.csDiscussionService.fetchAllTags();
84
+ // return this.http.get(urlConfig.getAllTags());
85
+ }
86
+ contextBasedTags(data) {
87
+ return this.csDiscussionService.contextBasedTags(data);
88
+ // return this.http.get(urlConfig.getAllTags());
89
+ }
90
+ fetchPostDetails() {
91
+ return this.csDiscussionService.fetchAllTags();
92
+ // return this.http.get(urlConfig.getAllTags());
93
+ }
94
+ votePost(pid, data) {
95
+ return this.csDiscussionService.votePost(pid, data);
96
+ // const url = urlConfig.votePost(pid);
97
+ // return this.http.post(url, data);
98
+ }
99
+ deleteVotePost(pid) {
100
+ // const url = urlConfig.votePost(pid);
101
+ // return this.http.delete(url);
102
+ return this.csDiscussionService.deleteVotePost(pid);
103
+ }
104
+ bookmarkPost(pid) {
105
+ // const url = urlConfig.bookmarkPost(pid);
106
+ // return this.http.post(url, {});
107
+ return this.csDiscussionService.bookmarkPost(pid);
108
+ }
109
+ deleteBookmarkPost(pid) {
110
+ // const url = urlConfig.bookmarkPost(pid);
111
+ // return this.http.delete(url);
112
+ return this.csDiscussionService.deleteBookmarkPost(pid);
113
+ }
114
+ replyPost(tid, data) {
115
+ // const url = urlConfig.replyPost(tid);
116
+ // return this.http.post(url, data);
117
+ return this.csDiscussionService.replyPost(tid, data);
118
+ }
119
+ fetchRecentPost(pageId) {
120
+ return this.csDiscussionService.recentPost(_.get(this._userDetails, 'username'), pageId);
121
+ }
122
+ getTagBasedDiscussion(tag, page) {
123
+ return this.csDiscussionService.getTagBasedDiscussion(tag);
124
+ }
125
+ getContextBasedDiscussion(data) {
126
+ return this.csDiscussionService.getContextBasedDiscussion(data);
127
+ }
128
+ getContextBasedTagDiscussion(data) {
129
+ return this.csDiscussionService.getContextBasedTagDiscussion(data);
130
+ }
131
+ fetchPopularD(page) {
132
+ return this.csDiscussionService.popularPost(page);
133
+ }
134
+ fetchTopicById(topicId, slug, page) {
135
+ // let url = urlConfig.getTopic() + '/' + topicId.toString() + '/' + slug;
136
+ // url = this.appendPage(page, url);
137
+ // return this.http.get(url);
138
+ return this.csDiscussionService.fetchTopicById(topicId, slug, page);
139
+ }
140
+ fetchTopicByIdSort(topicId, sort, page) {
141
+ // let url = urlConfig.getTopic + topicId.toString();
142
+ // url = this.appendPage(page, url);
143
+ // return this.http.get(`${url}&sort=${sort}`);
144
+ return this.csDiscussionService.fetchTopicById(topicId, sort, page);
145
+ }
146
+ fetchUnreadCOunt() {
147
+ // return this.http.get<any>(urlConfig.unread());
148
+ return this.csDiscussionService.fetchUnreadCOunt();
149
+ }
150
+ // fetchProfile() {
151
+ // // return this.http.get(urlConfig.profile());
152
+ // return this.csDiscussionService.fetchProfile();
153
+ // }
154
+ fetchProfileInfo(slug) {
155
+ // return this.http.get(urlConfig.fetchProfile(slug));
156
+ return this.csDiscussionService.fetchProfileInfo(slug);
157
+ }
158
+ fetchUpvoted(pageId) {
159
+ // return this.http.get(urlConfig.listUpVote(_.get(this._userDetails, 'username')));
160
+ return this.csDiscussionService.fetchUpvoted(_.get(this._userDetails, 'username'), pageId);
161
+ }
162
+ fetchDownvoted(pageId) {
163
+ // return this.http.get(urlConfig.listDownVoted(_.get(this._userDetails, 'username')));
164
+ return this.csDiscussionService.fetchDownvoted(_.get(this._userDetails, 'username'), pageId);
165
+ }
166
+ fetchSaved(pageId) {
167
+ // return this.http.get(urlConfig.listSaved(_.get(this._userDetails, 'username')));
168
+ return this.csDiscussionService.fetchSaved(_.get(this._userDetails, 'username'), pageId);
169
+ }
170
+ fetchBestPost(pageId) {
171
+ return this.csDiscussionService.fetchBestPost(_.get(this._userDetails, 'username'), pageId);
172
+ }
173
+ fetchUserProfile(userId) {
174
+ // return this.http.get<any>(urlConfig.userDetails(userName));
175
+ return this.csDiscussionService.getUserDetails(userId);
176
+ }
177
+ getContextBasedTopic(slug, pageId) {
178
+ // return this.http.get(urlConfig.getContextBasedTopics(slug));
179
+ return this.csDiscussionService.getContextBasedTopic(slug, pageId);
180
+ }
181
+ registerUser(data) {
182
+ return this.http.post(urlConfig.registerUser(), data);
183
+ }
184
+ createForum(data) {
185
+ return this.csDiscussionService.createForum(data);
186
+ }
187
+ getForumIds(data) {
188
+ return this.csDiscussionService.getForumIds(data).toPromise();
189
+ }
190
+ set userDetails(userDetails) {
191
+ this._userDetails = userDetails;
192
+ }
193
+ get userDetails() {
194
+ return this._userDetails;
195
+ }
196
+ set userId(userId) {
197
+ this._userId = userId;
198
+ }
199
+ get userId() {
200
+ return this._userId;
201
+ }
202
+ set forumIds(ids) {
203
+ this._forumIds = ids;
204
+ }
205
+ get forumIds() {
206
+ return this._forumIds;
207
+ }
208
+ setContext(key, value) {
209
+ if (CONTEXT_PROPS[key]) {
210
+ this._context[key] = value;
211
+ }
212
+ else {
213
+ console.log('Context can not be set for this key: ', key);
214
+ }
215
+ }
216
+ getContext(key) {
217
+ return key ? this._context[key] : this._context;
218
+ }
219
+ editPost(pid, data) {
220
+ return this.csDiscussionService.editPost(pid, data);
221
+ }
222
+ deletePost(pid, uid) {
223
+ return this.csDiscussionService.deletePost(pid, uid);
224
+ }
225
+ editTopic(tid, data) {
226
+ return this.csDiscussionService.editTopic(tid, data);
227
+ }
228
+ deleteTopic(tid) {
229
+ return this.csDiscussionService.deleteTopic(tid);
230
+ }
231
+ /** To check the error code and show alert message
232
+ * if it is 502 - error
233
+ */
234
+ showTrafficAlert(errorObject) {
235
+ const errorCode = _.get(errorObject, 'response.responseCode');
236
+ if (errorCode) {
237
+ if ([502, '502'].includes(errorCode)) {
238
+ this.alertEvent.next();
239
+ }
240
+ }
241
+ }
242
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DiscussionService, deps: [{ token: i1.HttpClient }, { token: 'CsModule' }], target: i0.ɵɵFactoryTarget.Injectable }); }
243
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DiscussionService, providedIn: 'root' }); }
244
+ }
245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DiscussionService, decorators: [{
246
+ type: Injectable,
247
+ args: [{
248
+ providedIn: 'root'
249
+ }]
250
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.CsModule, decorators: [{
251
+ type: Inject,
252
+ args: ['CsModule']
253
+ }] }]; } });
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzY3Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGlzY3Vzc2lvbi11aS9zcmMvbGliL3NlcnZpY2VzL2Rpc2N1c3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWtGLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRyxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR25ELG9CQUFvQjtBQUNwQixPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQTtBQUUzQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFDcEQsbUJBQW1CO0FBRW5CLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLEtBQUs7Q0FDWCxDQUFDO0FBS0YsTUFBTSxPQUFPLGlCQUFpQjtJQW1CNUIsWUFDVSxJQUFnQixFQUNJLFFBQWtCO1FBRHRDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDSSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBVGhELHlDQUF5QztRQUNqQyxhQUFRLEdBQVEsRUFBRSxDQUFDO1FBRXBCLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBUWhDLDJDQUEyQztRQUMzQyx3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUM5QixPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMs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UUFDakMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxJQUFTO1FBQzlCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxXQUFXO1FBQzFCLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLHVCQUF1QixDQUFDLENBQUE7UUFDN0QsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUN4QjtTQUNGO0lBQ0gsQ0FBQzsrR0E1UlUsaUJBQWlCLDRDQXFCbEIsVUFBVTttSEFyQlQsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQXNCSSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG9mIGFzIG9ic2VydmFibGVPZiwgdGhyb3dFcnJvciBhcyBvYnNlcnZhYmxlVGhyb3dFcnJvciwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgdXJsQ29uZmlnIH0gZnJvbSAnLi8uLi9jb25maWcvdXJsLmNvbmZpZyc7XG5pbXBvcnQgeyBOU0Rpc2N1c3NEYXRhIH0gZnJvbSAnLi4vbW9kZWxzL2Rpc2N1c3MubW9kZWwnO1xuXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnXG5pbXBvcnQgeyBDc0Rpc2N1c3Npb25TZXJ2aWNlIH0gZnJvbSAnQGplcmFsZGovY2xpZW50LXNlcnZpY2VzL3NlcnZpY2VzL2Rpc2N1c3Npb24nO1xuaW1wb3J0IHsgQ3NNb2R1bGUgfSBmcm9tICdAamVyYWxkai9jbGllbnQtc2VydmljZXMnO1xuLyogdHNsaW50OmVuYWJsZSAqL1xuXG5leHBvcnQgY29uc3QgQ09OVEVYVF9QUk9QUyA9IHtcbiAgY2lkOiAnY2lkJyxcbiAgdGlkOiAndGlkJyxcbiAgdWlkOiAndWlkJ1xufTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGlzY3Vzc2lvblNlcnZpY2Uge1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX3VzZXJEZXRhaWxzOiBhbnk7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgcHJpdmF0ZSBfdXNlcklkOiBhbnk7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgcHJpdmF0ZSBfZm9ydW1JZHM6IGFueTtcbiAgcHJpdmF0ZSBjc0Rpc2N1c3Npb25TZXJ2aWNlOiBDc0Rpc2N1c3Npb25TZXJ2aWNlO1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX2NvbnRleHQ6IGFueSA9IHt9O1xuXG4gIHB1YmxpYyBhbGVydEV2ZW50ID0gbmV3IFN1YmplY3QoKTtcblxuICB1c3I6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnQ3NNb2R1bGUnKSBwcml2YXRlIGNzTW9kdWxlOiBDc01vZHVsZVxuICApIHtcbiAgICAvLyBUT0RPOiBUYWtlIGZyb20gdGhlIGxvZ2dlZCBpbiB1c2VyIGRhdGE7XG4gICAgLy8gdGhpcy51c3IgPSB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZVxuICAgIHRoaXMudXNyID0geyB1c2VySWQ6ICcxMjM0JyB9O1xuICAgIGNvbnNvbGUubG9nKCdDc01vZHVsZSBpbml0LS0tJywgQ3NNb2R1bGUuaW5zdGFuY2UpO1xuICAgIHRoaXMuY3NEaXNjdXNzaW9uU2VydmljZSA9IENzTW9kdWxlLmluc3RhbmNlLmRpc2N1c3Npb25TZXJ2aWNlO1xuXG4gIH1cblxuICBpbml0aWFsaXplVXNlckRldGFpbHModXNlcklkKSB7XG4gICAgdXNlcklkID0gdXNlcklkXG4gICAgdGhpcy51c2VyRGV0YWlscyA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnZEZVc2VyRGV0YWlscycpKVxuICAgIHRoaXMuZmV0Y2hVc2VyUHJvZmlsZSh1c2VySWQpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICB0aGlzLnVzZXJEZXRhaWxzID0gcmVzcG9uc2U7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdkRlVzZXJEZXRhaWxzJywgSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpKTtcbiAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgIC8vIFRPRE86IHRvYXN0ZXIgZXJyb3JcbiAgICAgIGNvbnNvbGUubG9nKCdlcnJvciBmZXRjaGluZyB1c2VyIGRldGFpbHMnKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFwcGVuZFBhZ2UocGFnZTogYW55LCB1cmw6IHN0cmluZykge1xuICAgIGlmIChwYWdlKSB7XG4gICAgICByZXR1cm4gYCR7dXJsfT9wYWdlPSR7cGFnZX1gO1xuICAgIH1cbiAgICByZXR1cm4gYCR7dXJsfT9wYWdlPTFgO1xuICB9XG5cbiAgZmV0Y2hBbGxUYWdzKCkge1xuICAgIC8vIGNvbnN0IHRhZ3MgPSB0aGlzLmh0dHAuZ2V0KHVybENvbmZpZy5nZXRBbGxUYWdzKCkpXG4gICAgLy8gICAudG9Qcm9taXNlKCk7XG4gICAgLy8gcmV0dXJuIHRhZ3M7XG4gICAgY29uc29sZS5sb2coJ2lubm4gZmV0Y2hBbGxUYWdzJyk7XG4gICAgcmV0dXJuIHRoaXMuY3NEaXNjdXNzaW9uU2VydmljZS5mZXRjaEFsbFRhZ3MoKTtcbiAgfVxuXG4gIGNyZWF0ZVBvc3QoZGF0YTogYW55KSB7XG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybENvbmZpZy5jcmVhdGVQb3N0KCksIGRhdGEpO1xuICAgIHJldHVybiB0aGlzLmNzRGlzY3Vzc2lvblNlcnZpY2UuY3JlYXRlUG9zdChkYXRhKTtcbiAgfVxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRvIGdldCBhbGwgdGhlIGNhdGVnb3JpZXNcbiAgICovXG5cbiAgZmV0Y2hBbGxDYXRlZ29yaWVzKCkge1xuICAgIC8vIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5TRGlzY3Vzc0RhdGEuSUNhdGVnb3JpZVtdPih1cmxDb25maWcuZ2V0QWxsQ2F0ZWdvcmllcygpKS5waXBlKFxuICAgIC8vICAgbWFwKChkYXRhOiBhbnkpID0+IHtcbiAgICAvLyAgICAgICAvLyBUYWtpbmcgb25seSBcImNhdGVnb3JpZXNcIiBmcm9tIHRoZSByZXNwb25zZVxuICAgIC8vICAgICAgIGNvbnN0IHJlc3AgPSAoZGF0YSBhcyBhbnkpLmNhdGVnb3JpZXM7XG4gICAgLy8gICAgICAgcmV0dXJuIHJlc3A7XG4gICAgLy8gICB9KSxcbiAgICAvLyAgIGNhdGNoRXJyb3IoIGVycm9yID0+IHtcbiAgICAvLyAgICAgcmV0dXJuIHRocm93RXJyb3IoICdTb21ldGhpbmcgd2VudCB3cm9uZyEnICk7XG4gICAgLy8gICB9KVxuICAgIC8vICk7XG4gICAgY29uc29sZS5sb2coJ2luIGZldGNoYWxsIGNhdGVnb3JpZXMnKTtcbiAgICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmZldGNoQWxsQ2F0ZWdvcmllcygpLnBpcGUoXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4gZGF0YS5jYXRlZ29yaWVzKVxuICAgICk7XG4gIH1cblxuICBmZXRjaFNpbmdsZUNhdGVnb3J5RGV0YWlscyhjaWQ6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmNzRGlzY3Vzc2lvblNlcnZpY2UuZmV0Y2hTaW5nbGVDYXRlZ29yeURldGFpbHMoY2lkKTtcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLmdldDxOU0Rpc2N1c3NEYXRhLklDYXRlZ29yaWU+KHVybENvbmZpZy5nZXRTaW5nbGVDYXRlZ29yeURldGFpbHMoY2lkKSk7XG4gIH1cbiAgZmV0Y2hTaW5nbGVDYXRlZ29yeURldGFpbHNTb3J0KGNpZDogbnVtYmVyLCBzb3J0OiBhbnksIHBhZ2U/OiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmZldGNoU2luZ2xlQ2F0ZWdvcnlEZXRhaWxzKGNpZCk7XG4gIH1cblxuICBmZXRjaEFsbFRhZygpIHtcbiAgICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmZldGNoQWxsVGFncygpO1xuICAgIC8vIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybENvbmZpZy5nZXRBbGxUYWdzKCkpO1xuICB9XG5cbiAgY29udGV4dEJhc2VkVGFncyhkYXRhKSB7XG4gICAgcmV0dXJuIHRoaXMuY3NEaXNjdXNzaW9uU2VydmljZS5jb250ZXh0QmFzZWRUYWdzKGRhdGEpO1xuICAgIC8vIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybENvbmZpZy5nZXRBbGxUYWdzKCkpO1xuICB9XG5cbiAgZmV0Y2hQb3N0RGV0YWlscygpIHtcbiAgICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmZldGNoQWxsVGFncygpO1xuICAgIC8vIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybENvbmZpZy5nZXRBbGxUYWdzKCkpO1xuICB9XG5cbiAgdm90ZVBvc3QocGlkOiBudW1iZXIsIGRhdGE6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmNzRGlzY3Vzc2lvblNlcnZpY2Uudm90ZVBvc3QocGlkLCBkYXRhKTtcbiAgICAvLyBjb25zdCB1cmwgPSB1cmxDb25maWcudm90ZVBvc3QocGlkKTtcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCBkYXRhKTtcbiAgfVxuXG4gIGRlbGV0ZVZvdGVQb3N0KHBpZDogbnVtYmVyKSB7XG4gICAgLy8gY29uc3QgdXJsID0gdXJsQ29uZmlnLnZvdGVQb3N0KHBpZCk7XG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodXJsKTtcbiAgICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmRlbGV0ZVZvdGVQb3N0KHBpZCk7XG4gIH1cblxuICBib29rbWFya1Bvc3QocGlkOiBudW1iZXIpIHtcbiAgICAvLyBjb25zdCB1cmwgPSB1cmxDb25maWcuYm9va21hcmtQb3N0KHBpZCk7XG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwge30pO1xuICAgIHJldHVybiB0aGlzLmNzRGlzY3Vzc2lvblNlcnZpY2UuYm9va21hcmtQb3N0KHBpZCk7XG4gIH1cblxuICBkZWxldGVCb29rbWFya1Bvc3QocGlkOiBudW1iZXIpIHtcbiAgICAvLyBjb25zdCB1cmwgPSB1cmxDb25maWcuYm9va21hcmtQb3N0KHBpZCk7XG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodXJsKTtcbiAgICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmRlbGV0ZUJvb2ttYXJrUG9zdChwaWQpO1xuICB9XG5cbiAgcmVwbHlQb3N0KHRpZDogbnVtYmVyLCBkYXRhOiBhbnkpIHtcbiAgICAvLyBjb25zdCB1cmwgPSB1cmxDb25maWcucmVwbHlQb3N0KHRpZCk7XG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZGF0YSk7XG4gICAgcmV0dXJuIHRoaXMuY3NEaXNjdXNzaW9uU2VydmljZS5yZXBseVBvc3QodGlkLCBkYXRhKTtcbiAgfVxuXG4gIGZldGNoUmVjZW50UG9zdChwYWdlSWQ/KSB7XG4gICAgcmV0dXJuIHRoaXMuY3NEaXNjdXNzaW9uU2VydmljZS5yZWNlbnRQb3N0KF8uZ2V0KHRoaXMuX3VzZXJEZXRhaWxzLCAndXNlcm5hbWUnKSwgcGFnZUlkKTtcbiAgfVxuXG4gIGdldFRhZ0Jhc2VkRGlzY3Vzc2lvbih0YWc/OiBzdHJpbmcsIHBhZ2U/OiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmdldFRhZ0Jhc2VkRGlzY3Vzc2lvbih0YWcpO1xuICB9XG5cbiAgZ2V0Q29udGV4dEJhc2VkRGlzY3Vzc2lvbihkYXRhKSB7XG4gICAgcmV0dXJuIHRoaXMuY3NEaXNjdXNzaW9uU2VydmljZS5nZXRDb250ZXh0QmFzZWREaXNjdXNzaW9uKGRhdGEpO1xuICB9XG5cbiAgZ2V0Q29udGV4dEJhc2VkVGFnRGlzY3Vzc2lvbihkYXRhKSB7XG4gICAgcmV0dXJuIHRoaXMuY3NEaXNjdXNzaW9uU2VydmljZS5nZXRDb250ZXh0QmFzZWRUYWdEaXNjdXNzaW9uKGRhdGEpO1xuICB9XG5cbiAgZmV0Y2hQb3B1bGFyRChwYWdlPzogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuY3NEaXNjdXNzaW9uU2VydmljZS5wb3B1bGFyUG9zdChwYWdlKTtcbiAgfVxuXG4gIGZldGNoVG9waWNCeUlkKHRvcGljSWQ6IG51bWJlciwgc2x1Zz86IGFueSwgcGFnZT86IGFueSkge1xuICAgIC8vIGxldCB1cmwgPSB1cmxDb25maWcuZ2V0VG9waWMoKSArICcvJyArIHRvcGljSWQudG9TdHJpbmcoKSArICcvJyArIHNsdWc7XG4gICAgLy8gdXJsID0gdGhpcy5hcHBlbmRQYWdlKHBhZ2UsIHVybCk7XG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKTtcbiAgICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmZldGNoVG9waWNCeUlkKHRvcGljSWQsIHNsdWcsIHBhZ2UpO1xuICB9XG5cbiAgZmV0Y2hUb3BpY0J5SWRTb3J0KHRvcGljSWQ6IG51bWJlciwgc29ydDogYW55LCBwYWdlPzogYW55KSB7XG4gICAgLy8gbGV0IHVybCA9IHVybENvbmZpZy5nZXRUb3BpYyArIHRvcGljSWQudG9TdHJpbmcoKTtcbiAgICAvLyB1cmwgPSB0aGlzLmFwcGVuZFBhZ2UocGFnZSwgdXJsKTtcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLmdldChgJHt1cmx9JnNvcnQ9JHtzb3J0fWApO1xuICAgIHJldHVybiB0aGlzLmNzRGlzY3Vzc2lvblNlcnZpY2UuZmV0Y2hUb3BpY0J5SWQodG9waWNJZCwgc29ydCwgcGFnZSk7XG4gIH1cblxuICBmZXRjaFVucmVhZENPdW50KCkge1xuICAgIC8vIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4odXJsQ29uZmlnLnVucmVhZCgpKTtcbiAgICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmZldGNoVW5yZWFkQ091bnQoKTtcblxuICB9XG4gIC8vIGZldGNoUHJvZmlsZSgpIHtcbiAgLy8gICAvLyByZXR1cm4gdGhpcy5odHRwLmdldCh1cmxDb25maWcucHJvZmlsZSgpKTtcbiAgLy8gICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmZldGNoUHJvZmlsZSgpO1xuICAvLyB9XG4gIGZldGNoUHJvZmlsZUluZm8oc2x1Zzogc3RyaW5nKSB7XG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsQ29uZmlnLmZldGNoUHJvZmlsZShzbHVnKSk7XG4gICAgcmV0dXJuIHRoaXMuY3NEaXNjdXNzaW9uU2VydmljZS5mZXRjaFByb2ZpbGVJbmZvKHNsdWcpO1xuICB9XG4gIGZldGNoVXB2b3RlZChwYWdlSWQ6IG51bWJlcikgey8vIDBcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLmdldCh1cmxDb25maWcubGlzdFVwVm90ZShfLmdldCh0aGlzLl91c2VyRGV0YWlscywgJ3VzZXJuYW1lJykpKTtcbiAgICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmZldGNoVXB2b3RlZChfLmdldCh0aGlzLl91c2VyRGV0YWlscywgJ3VzZXJuYW1lJyksIHBhZ2VJZCk7XG4gIH1cbiAgZmV0Y2hEb3dudm90ZWQocGFnZUlkOiBudW1iZXIpIHsgLy8gMFxuICAgIC8vIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybENvbmZpZy5saXN0RG93blZvdGVkKF8uZ2V0KHRoaXMuX3VzZXJEZXRhaWxzLCAndXNlcm5hbWUnKSkpO1xuICAgIHJldHVybiB0aGlzLmNzRGlzY3Vzc2lvblNlcnZpY2UuZmV0Y2hEb3dudm90ZWQoXy5nZXQodGhpcy5fdXNlckRldGFpbHMsICd1c2VybmFtZScpLCBwYWdlSWQpO1xuICB9XG4gIGZldGNoU2F2ZWQocGFnZUlkOiBudW1iZXIpIHsgLy8gMCB0aGlzLnVzci51c2VySWRcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLmdldCh1cmxDb25maWcubGlzdFNhdmVkKF8uZ2V0KHRoaXMuX3VzZXJEZXRhaWxzLCAndXNlcm5hbWUnKSkpO1xuICAgIHJldHVybiB0aGlzLmNzRGlzY3Vzc2lvblNlcnZpY2UuZmV0Y2hTYXZlZChfLmdldCh0aGlzLl91c2VyRGV0YWlscywgJ3VzZXJuYW1lJyksIHBhZ2VJZCk7XG4gIH1cblxuICBmZXRjaEJlc3RQb3N0KHBhZ2VJZDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuY3NEaXNjdXNzaW9uU2VydmljZS5mZXRjaEJlc3RQb3N0KF8uZ2V0KHRoaXMuX3VzZXJEZXRhaWxzLCAndXNlcm5hbWUnKSwgcGFnZUlkKTtcbiAgfVxuXG4gIGZldGNoVXNlclByb2ZpbGUodXNlcklkKSB7XG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55Pih1cmxDb25maWcudXNlckRldGFpbHModXNlck5hbWUpKTtcbiAgICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmdldFVzZXJEZXRhaWxzKHVzZXJJZCk7XG4gIH1cblxuICBnZXRDb250ZXh0QmFzZWRUb3BpYyhzbHVnOiBzdHJpbmcsIHBhZ2VJZDogbnVtYmVyKSB7XG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsQ29uZmlnLmdldENvbnRleHRCYXNlZFRvcGljcyhzbHVnKSk7XG4gICAgcmV0dXJuIHRoaXMuY3NEaXNjdXNzaW9uU2VydmljZS5nZXRDb250ZXh0QmFzZWRUb3BpYyhzbHVnLCBwYWdlSWQpO1xuICB9XG5cbiAgcmVnaXN0ZXJVc2VyKGRhdGEpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsQ29uZmlnLnJlZ2lzdGVyVXNlcigpLCBkYXRhKTtcbiAgfVxuXG4gIGNyZWF0ZUZvcnVtKGRhdGEpIHtcbiAgICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmNyZWF0ZUZvcnVtKGRhdGEpXG4gIH1cblxuICBnZXRGb3J1bUlkcyhkYXRhKSB7XG4gICAgcmV0dXJuIHRoaXMuY3NEaXNjdXNzaW9uU2VydmljZS5nZXRGb3J1bUlkcyhkYXRhKS50b1Byb21pc2UoKVxuICB9XG5cbiAgc2V0IHVzZXJEZXRhaWxzKHVzZXJEZXRhaWxzKSB7XG4gICAgdGhpcy5fdXNlckRldGFpbHMgPSB1c2VyRGV0YWlscztcbiAgfVxuXG4gIGdldCB1c2VyRGV0YWlscygpIHtcbiAgICByZXR1cm4gdGhpcy5fdXNlckRldGFpbHM7XG4gIH1cblxuICBzZXQgdXNlcklkKHVzZXJJZCkge1xuICAgIHRoaXMuX3VzZXJJZCA9IHVzZXJJZDtcbiAgfVxuXG4gIGdldCB1c2VySWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZXJJZDtcbiAgfVxuXG4gIHNldCBmb3J1bUlkcyhpZHMpIHtcbiAgICB0aGlzLl9mb3J1bUlkcyA9IGlkcztcbiAgfVxuXG4gIGdldCBmb3J1bUlkcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ydW1JZHM7XG4gIH1cblxuICBzZXRDb250ZXh0KGtleSwgdmFsdWUpIHtcbiAgICBpZiAoQ09OVEVYVF9QUk9QU1trZXldKSB7XG4gICAgICB0aGlzLl9jb250ZXh0W2tleV0gPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coJ0NvbnRleHQgY2FuIG5vdCBiZSBzZXQgZm9yIHRoaXMga2V5OiAnLCBrZXkpO1xuICAgIH1cbiAgfVxuXG4gIGdldENvbnRleHQoa2V5Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGtleSA/IHRoaXMuX2NvbnRleHRba2V5XSA6IHRoaXMuX2NvbnRleHQ7XG4gIH1cblxuICBlZGl0UG9zdChwaWQ6IG51bWJlciwgZGF0YTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuY3NEaXNjdXNzaW9uU2VydmljZS5lZGl0UG9zdChwaWQsIGRhdGEpO1xuICB9XG5cbiAgZGVsZXRlUG9zdChwaWQ6IG51bWJlciwgdWlkOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmRlbGV0ZVBvc3QocGlkLCB1aWQpO1xuICB9XG5cbiAgZWRpdFRvcGljKHRpZDogbnVtYmVyLCBkYXRhOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmVkaXRUb3BpYyh0aWQsIGRhdGEpO1xuICB9XG5cbiAgZGVsZXRlVG9waWModGlkOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5jc0Rpc2N1c3Npb25TZXJ2aWNlLmRlbGV0ZVRvcGljKHRpZCk7XG4gIH1cblxuICAvKiogVG8gY2hlY2sgdGhlIGVycm9yIGNvZGUgYW5kIHNob3cgYWxlcnQgbWVzc2FnZVxuICAgKiAgaWYgaXQgaXMgNTAyIC0gZXJyb3IgXG4gICAqL1xuICBzaG93VHJhZmZpY0FsZXJ0KGVycm9yT2JqZWN0KSB7XG4gICAgY29uc3QgZXJyb3JDb2RlID0gXy5nZXQoZXJyb3JPYmplY3QsICdyZXNwb25zZS5yZXNwb25zZUNvZGUnKVxuICAgIGlmIChlcnJvckNvZGUpIHtcbiAgICAgIGlmIChbNTAyLCAnNTAyJ10uaW5jbHVkZXMoZXJyb3JDb2RlKSkge1xuICAgICAgICB0aGlzLmFsZXJ0RXZlbnQubmV4dCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,103 @@
1
+ import { Injectable } from '@angular/core';
2
+ /* tslint:disable */
3
+ import * as _ from 'lodash';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./discussion-events.service";
6
+ import * as i2 from "@angular/router";
7
+ export class TelemetryUtilsService {
8
+ constructor(discussionEvents, router) {
9
+ this.discussionEvents = discussionEvents;
10
+ this.router = router;
11
+ this._context = [];
12
+ this.currentObj = {};
13
+ }
14
+ setContext(context) {
15
+ this._context = context;
16
+ this.currentObj = _.last(context);
17
+ }
18
+ uppendContext(data) {
19
+ const matchedC = _.find(this._context, { id: data.id });
20
+ if (!_.isEmpty(data) && !_.isEqual(data, matchedC)) {
21
+ this._context.push(data);
22
+ }
23
+ this.currentObj = _.last(this._context);
24
+ }
25
+ deleteContext(prevTopic) {
26
+ const topic = _.find(this._context, prevTopic);
27
+ if (topic) {
28
+ this._context = _.reject(this._context, topic);
29
+ }
30
+ }
31
+ getContext() {
32
+ return this._context;
33
+ }
34
+ logImpression(pageId) {
35
+ this.discussionEvents.emitTelemetry({});
36
+ const impressionEvent = {
37
+ eid: 'IMPRESSION',
38
+ edata: {
39
+ type: 'view',
40
+ pageid: pageId,
41
+ uri: this.router.url
42
+ }
43
+ };
44
+ if (this.currentObj) {
45
+ impressionEvent.context = { cdata: [{
46
+ id: _.get(this.currentObj, 'id').toString(),
47
+ type: _.get(this.currentObj, 'type')
48
+ }
49
+ ] };
50
+ }
51
+ this.discussionEvents.emitTelemetry(impressionEvent);
52
+ }
53
+ logInteract(event, pageId) {
54
+ const target = _.get(event, 'currentTarget.attributes.id') || _.get(event, 'target.attributes.id') ||
55
+ _.get(event, 'srcElement.attributes.id');
56
+ const interactEvent = {
57
+ eid: 'INTERACT',
58
+ edata: {
59
+ id: _.get(target, 'value') || _.get(event, 'action'),
60
+ type: 'CLICK',
61
+ pageid: pageId
62
+ }
63
+ };
64
+ if (this.currentObj) {
65
+ const object = {
66
+ id: _.get(this.currentObj, 'id').toString(),
67
+ type: _.get(this.currentObj, 'type'),
68
+ ver: '1'
69
+ };
70
+ object['rollup'] = this._context.length > 1 ? this.getRollUp() : {};
71
+ interactEvent.context = {
72
+ cdata: [{
73
+ id: _.get(this.currentObj, 'id').toString(),
74
+ type: _.get(this.currentObj, 'type')
75
+ }], object
76
+ };
77
+ }
78
+ this.discussionEvents.emitTelemetry(interactEvent);
79
+ }
80
+ getRollUp() {
81
+ const rollUp = {};
82
+ const data = _.reject(this._context, this.currentObj);
83
+ if (this._context.length > 1) {
84
+ data.forEach((element, index) => {
85
+ console.log('rollup', element);
86
+ rollUp['l' + (index + 1)] = element.toString();
87
+ });
88
+ }
89
+ if (_.get(this.currentObj, 'type') !== 'Post') {
90
+ return rollUp;
91
+ }
92
+ return {};
93
+ }
94
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TelemetryUtilsService, deps: [{ token: i1.DiscussionEventsService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
95
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TelemetryUtilsService, providedIn: 'root' }); }
96
+ }
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TelemetryUtilsService, decorators: [{
98
+ type: Injectable,
99
+ args: [{
100
+ providedIn: 'root'
101
+ }]
102
+ }], ctorParameters: function () { return [{ type: i1.DiscussionEventsService }, { type: i2.Router }]; } });
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LXV0aWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kaXNjdXNzaW9uLXVpL3NyYy9saWIvdGVsZW1ldHJ5LXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxvQkFBb0I7QUFDcEIsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUE7Ozs7QUFXM0IsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxZQUNVLGdCQUF5QyxFQUN6QyxNQUFjO1FBRGQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTHhCLGFBQVEsR0FBRyxFQUFFLENBQUE7UUFDYixlQUFVLEdBQUcsRUFBRSxDQUFDO0lBS1osQ0FBQztJQUVMLFVBQVUsQ0FBQyxPQUFPO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQUk7UUFDaEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUI7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFD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cUJBQ3JDLENBQUMsRUFBRSxNQUFNO2FBQ1gsQ0FBQztTQUNIO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsU0FBUztRQUVMLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXRELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pELENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxNQUFNLEVBQUU7WUFDN0MsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBRWQsQ0FBQzsrR0FyR1UscUJBQXFCO21IQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgRGlzY3Vzc2lvbkV2ZW50c1NlcnZpY2UgfSBmcm9tICcuL2Rpc2N1c3Npb24tZXZlbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbi8qIHRzbGludDpkaXNhYmxlICovXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCdcbi8qIHRzbGludDplbmFibGUgKi9cbmludGVyZmFjZSBJVGVsZW1ldHJ5T2JqIHtcbiAgZWlkOiBzdHJpbmcsXG4gIGVkYXRhOiB7fSxcbiAgY29udGV4dD86IHt9XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRlbGVtZXRyeVV0aWxzU2VydmljZSB7XG5cbiAgX2NvbnRleHQgPSBbXVxuICBjdXJyZW50T2JqID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaXNjdXNzaW9uRXZlbnRzOiBEaXNjdXNzaW9uRXZlbnRzU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkgeyB9XG5cbiAgc2V0Q29udGV4dChjb250ZXh0KSB7XG4gICAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7XG4gICAgdGhpcy5jdXJyZW50T2JqID0gXy5sYXN0KGNvbnRleHQpO1xuICB9XG5cbiAgdXBwZW5kQ29udGV4dChkYXRhKSB7XG4gICAgY29uc3QgbWF0Y2hlZEMgPSBfLmZpbmQodGhpcy5fY29udGV4dCwgeyBpZDogZGF0YS5pZCB9KTtcbiAgICBpZiAoIV8uaXNFbXB0eShkYXRhKSAmJiAhXy5pc0VxdWFsKGRhdGEsIG1hdGNoZWRDKSkge1xuICAgICAgdGhpcy5fY29udGV4dC5wdXNoKGRhdGEpO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRPYmogPSBfLmxhc3QodGhpcy5fY29udGV4dCk7XG4gIH1cblxuICBkZWxldGVDb250ZXh0KHByZXZUb3BpYykge1xuICAgIGNvbnN0IHRvcGljID0gXy5maW5kKHRoaXMuX2NvbnRleHQsIHByZXZUb3BpYyk7XG4gICAgaWYgKHRvcGljKSB7XG4gICAgICB0aGlzLl9jb250ZXh0ID0gXy5yZWplY3QodGhpcy5fY29udGV4dCwgdG9waWMpO1xuICAgIH1cbiAgfVxuXG4gIGdldENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRleHQ7XG4gIH1cblxuICBsb2dJbXByZXNzaW9uKHBhZ2VJZCkge1xuICAgIHRoaXMuZGlzY3Vzc2lvbkV2ZW50cy5lbWl0VGVsZW1ldHJ5KHt9KTtcbiAgICBjb25zdCBpbXByZXNzaW9uRXZlbnQ6IElUZWxlbWV0cnlPYmogPSB7XG4gICAgICBlaWQ6ICdJTVBSRVNTSU9OJyxcbiAgICAgIGVkYXRhOiB7XG4gICAgICAgIHR5cGU6ICd2aWV3JyxcbiAgICAgICAgcGFnZWlkOiBwYWdlSWQsXG4gICAgICAgIHVyaTogdGhpcy5yb3V0ZXIudXJsXG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLmN1cnJlbnRPYmopIHtcbiAgICAgIGltcHJlc3Npb25FdmVudC5jb250ZXh0ID0geyBjZGF0YTogW3tcbiAgICAgICAgaWQ6IF8uZ2V0KHRoaXMuY3VycmVudE9iaiwgJ2lkJykudG9TdHJpbmcoKSxcbiAgICAgICAgdHlwZTogXy5nZXQodGhpcy5jdXJyZW50T2JqLCAndHlwZScpIH1cbiAgICAgIF19O1xuICAgIH1cbiAgICB0aGlzLmRpc2N1c3Npb25FdmVudHMuZW1pdFRlbGVtZXRyeShpbXByZXNzaW9uRXZlbnQpO1xuICB9XG5cbiAgbG9nSW50ZXJhY3QoZXZlbnQsIHBhZ2VJZCkge1xuICAgIGNvbnN0IHRhcmdldCA9IF8uZ2V0KGV2ZW50LCAnY3VycmVudFRhcmdldC5hdHRyaWJ1dGVzLmlkJykgfHwgIF8uZ2V0KGV2ZW50LCAndGFyZ2V0LmF0dHJpYnV0ZXMuaWQnKSB8fFxuICAgICBfLmdldChldmVudCwgJ3NyY0VsZW1lbnQuYXR0cmlidXRlcy5pZCcpO1xuICAgIGNvbnN0IGludGVyYWN0RXZlbnQ6IElUZWxlbWV0cnlPYmogPSB7XG4gICAgICBlaWQ6ICdJTlRFUkFDVCcsXG4gICAgICBlZGF0YToge1xuICAgICAgICBpZDogXy5nZXQodGFyZ2V0LCAndmFsdWUnKSB8fCBfLmdldChldmVudCwgJ2FjdGlvbicpLFxuICAgICAgICB0eXBlOiAnQ0xJQ0snLFxuICAgICAgICBwYWdlaWQ6IHBhZ2VJZFxuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAodGhpcy5jdXJyZW50T2JqKSB7XG4gICAgICBjb25zdCBvYmplY3QgPSB7XG4gICAgICAgIGlkOiBfLmdldCh0aGlzLmN1cnJlbnRPYmosICdpZCcpLnRvU3RyaW5nKCksXG4gICAgICAgIHR5cGU6IF8uZ2V0KHRoaXMuY3VycmVudE9iaiwgJ3R5cGUnKSxcbiAgICAgICAgdmVyOiAnMSdcbiAgICAgIH07XG4gICAgICBvYmplY3RbJ3JvbGx1cCddID0gdGhpcy5fY29udGV4dC5sZW5ndGggPiAxID8gIHRoaXMuZ2V0Um9sbFVwKCkgOiB7fTtcbiAgICAgIGludGVyYWN0RXZlbnQuY29udGV4dCA9IHtcbiAgICAgICAgY2RhdGE6IFt7XG4gICAgICAgICAgaWQ6IF8uZ2V0KHRoaXMuY3VycmVudE9iaiwgJ2lkJykudG9TdHJpbmcoKSxcbiAgICAgICAgICB0eXBlOiBfLmdldCh0aGlzLmN1cnJlbnRPYmosICd0eXBlJylcbiAgICAgICAgfV0sIG9iamVjdFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLmRpc2N1c3Npb25FdmVudHMuZW1pdFRlbGVtZXRyeShpbnRlcmFjdEV2ZW50KTtcbiAgfVxuXG4gIGdldFJvbGxVcCgpIHtcblxuICAgICAgY29uc3Qgcm9sbFVwID0ge307XG4gICAgICBjb25zdCBkYXRhID0gXy5yZWplY3QodGhpcy5fY29udGV4dCwgdGhpcy5jdXJyZW50T2JqKTtcblxuICAgICAgaWYgKHRoaXMuX2NvbnRleHQubGVuZ3RoID4gMSkge1xuICAgICAgICBkYXRhLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ3JvbGx1cCcsIGVsZW1lbnQpO1xuICAgICAgICAgIHJvbGxVcFsnbCcgKyAoaW5kZXggKyAxKV0gPSBlbGVtZW50LnRvU3RyaW5nKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoXy5nZXQodGhpcy5jdXJyZW50T2JqLCAndHlwZScpICE9PSAnUG9zdCcpIHtcbiAgICAgICAgcmV0dXJuIHJvbGxVcDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHt9O1xuXG4gIH1cblxufVxuIl19
@@ -0,0 +1,41 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { EventsService } from '../../events.service';
3
+ import { NavigationServiceService } from '../../navigation-service.service';
4
+ import * as _ from 'lodash';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../navigation-service.service";
7
+ import * as i2 from "../../events.service";
8
+ import * as i3 from "../../services/config.service";
9
+ import * as i4 from "../../services/discussion.service";
10
+ export class BaseWrapperComponent {
11
+ constructor(navigationServiceService, eventService, configSvc, discussionService) {
12
+ this.navigationServiceService = navigationServiceService;
13
+ this.eventService = eventService;
14
+ this.configSvc = configSvc;
15
+ this.discussionService = discussionService;
16
+ }
17
+ ngOnInit() {
18
+ this.navigationServiceService.initService('wrapperService');
19
+ this.configSvc.setConfigFromWidgetBaseClass(this.config);
20
+ this.discussionService.userId = _.get(this.config, 'userName');
21
+ const rawCategories = _.get(this.config, 'categories');
22
+ this.discussionService.forumIds = _.get(rawCategories, 'result');
23
+ this.discussionService.initializeUserDetails(this.config.userName);
24
+ this.eventService.toggleMenuItem.subscribe((data) => {
25
+ this.wrapperEventListener(data);
26
+ this.state = data.action;
27
+ });
28
+ this.wrapperInit();
29
+ }
30
+ wrapperInit() { }
31
+ wrapperEventListener(data) { }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseWrapperComponent, deps: [{ token: i1.NavigationServiceService }, { token: i2.EventsService }, { token: i3.ConfigService }, { token: i4.DiscussionService }], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BaseWrapperComponent, selector: "sb-base-wrapper", inputs: { config: "config" }, providers: [NavigationServiceService, EventsService], ngImport: i0, template: "<p>base-wrapper works!</p>\n", styles: [""] }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseWrapperComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'sb-base-wrapper', providers: [NavigationServiceService, EventsService], template: "<p>base-wrapper works!</p>\n" }]
38
+ }], ctorParameters: function () { return [{ type: i1.NavigationServiceService }, { type: i2.EventsService }, { type: i3.ConfigService }, { type: i4.DiscussionService }]; }, propDecorators: { config: [{
39
+ type: Input
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rpc2N1c3Npb24tdWkvc3JjL2xpYi93cmFwcGVyL2Jhc2Utd3JhcHBlci9iYXNlLXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGlzY3Vzc2lvbi11aS9zcmMvbGliL3dyYXBwZXIvYmFzZS13cmFwcGVyL2Jhc2Utd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHNUUsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUE7Ozs7OztBQVMzQixNQUFNLE9BQU8sb0JBQW9CO0lBSS9CLFlBQW9CLHdCQUFrRCxFQUFVLFlBQTJCLEVBQVUsU0FBd0IsRUFBVSxpQkFBb0M7UUFBdkssNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUFVLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFBSSxDQUFDO0lBRWhNLFFBQVE7UUFDTixJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFDM0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDOUQsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBQ3RELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFDaEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFbEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbEQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFBO1lBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtRQUUxQixDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUNwQixDQUFDO0lBRVMsV0FBVyxLQUFLLENBQUM7SUFFakIsb0JBQW9CLENBQUMsSUFBSSxJQUFJLENBQUM7K0dBeEI3QixvQkFBb0I7bUdBQXBCLG9CQUFvQix3RUFGcEIsQ0FBQyx3QkFBd0IsRUFBRSxhQUFhLENBQUMsMEJDWnRELDhCQUNBOzs0RkRhYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0UsaUJBQWlCLGFBR2hCLENBQUMsd0JBQXdCLEVBQUUsYUFBYSxDQUFDO3VNQUkzQyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9uYXZpZ2F0aW9uLXNlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGlzY3Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kaXNjdXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnXG5pbXBvcnQgeyBJZGlzY3Vzc2lvbkNvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9kaXNjdXNzaW9uLWNvbmZpZy5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLWJhc2Utd3JhcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYXNlLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYXNlLXdyYXBwZXIuY29tcG9uZW50LmNzcyddLFxuICBwcm92aWRlcnM6IFtOYXZpZ2F0aW9uU2VydmljZVNlcnZpY2UsIEV2ZW50c1NlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEJhc2VXcmFwcGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBjb25maWc6IElkaXNjdXNzaW9uQ29uZmlnXG4gIHN0YXRlOiBzdHJpbmdcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuYXZpZ2F0aW9uU2VydmljZVNlcnZpY2U6IE5hdmlnYXRpb25TZXJ2aWNlU2VydmljZSwgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50c1NlcnZpY2UsIHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWdTZXJ2aWNlLCBwcml2YXRlIGRpc2N1c3Npb25TZXJ2aWNlOiBEaXNjdXNzaW9uU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZVNlcnZpY2UuaW5pdFNlcnZpY2UoJ3dyYXBwZXJTZXJ2aWNlJylcbiAgICB0aGlzLmNvbmZpZ1N2Yy5zZXRDb25maWdGcm9tV2lkZ2V0QmFzZUNsYXNzKHRoaXMuY29uZmlnKVxuICAgIHRoaXMuZGlzY3Vzc2lvblNlcnZpY2UudXNlcklkID0gXy5nZXQodGhpcy5jb25maWcsICd1c2VyTmFtZScpXG4gICAgY29uc3QgcmF3Q2F0ZWdvcmllcyA9IF8uZ2V0KHRoaXMuY29uZmlnLCAnY2F0ZWdvcmllcycpXG4gICAgdGhpcy5kaXNjdXNzaW9uU2VydmljZS5mb3J1bUlkcyA9IF8uZ2V0KHJhd0NhdGVnb3JpZXMsICdyZXN1bHQnKVxuICAgIHRoaXMuZGlzY3Vzc2lvblNlcnZpY2UuaW5pdGlhbGl6ZVVzZXJEZXRhaWxzKHRoaXMuY29uZmlnLnVzZXJOYW1lKVxuXG4gICAgdGhpcy5ldmVudFNlcnZpY2UudG9nZ2xlTWVudUl0ZW0uc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLndyYXBwZXJFdmVudExpc3RlbmVyKGRhdGEpXG4gICAgICB0aGlzLnN0YXRlID0gZGF0YS5hY3Rpb25cbiAgICBcbiAgICB9KVxuICAgIHRoaXMud3JhcHBlckluaXQoKVxuICB9XG5cbiAgcHJvdGVjdGVkIHdyYXBwZXJJbml0KCkgeyB9XG5cbiAgcHJvdGVjdGVkIHdyYXBwZXJFdmVudExpc3RlbmVyKGRhdGEpIHsgfVxuXG59XG4iLCI8cD5iYXNlLXdyYXBwZXIgd29ya3MhPC9wPlxuIl19
@@ -0,0 +1,37 @@
1
+ import { Component } from '@angular/core';
2
+ import * as CONSTANTS from '../../common/constants.json';
3
+ import { BaseWrapperComponent } from '../base-wrapper/base-wrapper.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/config.service";
6
+ import * as i2 from "../../services/discussion.service";
7
+ import * as i3 from "../../navigation-service.service";
8
+ import * as i4 from "../../events.service";
9
+ import * as i5 from "../../components/discuss-all/discuss-all.component";
10
+ export class CategoryWidgetComponent extends BaseWrapperComponent {
11
+ constructor(configSvc, discussionService, navigationServiceService, eventService) {
12
+ super(navigationServiceService, eventService, configSvc, discussionService);
13
+ this.detailsToggle = true;
14
+ this.category = CONSTANTS.CATEGORY;
15
+ this.detailsPage = CONSTANTS.CATEGORY_DETAILS;
16
+ this.homePage = CONSTANTS.CATEGORY_HOME;
17
+ }
18
+ wrapperInit() {
19
+ this.state = this.detailsPage;
20
+ }
21
+ stateChange(event) {
22
+ this.state = event.action;
23
+ if (event.action === this.detailsPage) {
24
+ this.tid = event.tid;
25
+ this.slug = event.title;
26
+ }
27
+ }
28
+ wrapperEventListener(data) {
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CategoryWidgetComponent, deps: [{ token: i1.ConfigService }, { token: i2.DiscussionService }, { token: i3.NavigationServiceService }, { token: i4.EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CategoryWidgetComponent, selector: "sb-category-widget", usesInheritance: true, ngImport: i0, template: "<div class='widget-container'>\n <!-- <lib-discuss-category *ngIf='state === category ' [categoryAction]='homePage' (stateChange)='stateChange($event)'></lib-discuss-category>\n <lib-discuss-home *ngIf='state === homePage' [categoryHomeAction]='detailsPage' (stateChange)='stateChange($event)'></lib-discuss-home> -->\n <!-- <lib-discussion-details *ngIf='state === detailsPage' [widget]=\"true\" [topicId]='tid' [slug]='slug'></lib-discussion-details> -->\n <lib-discuss-all [context]='context'></lib-discuss-all>\n</div>", styles: [".widget-container{display:flex;width:100%}\n"], dependencies: [{ kind: "component", type: i5.DiscussAllComponent, selector: "lib-discuss-all", inputs: ["context", "categoryAction"], outputs: ["stateChange"] }] }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CategoryWidgetComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'sb-category-widget', template: "<div class='widget-container'>\n <!-- <lib-discuss-category *ngIf='state === category ' [categoryAction]='homePage' (stateChange)='stateChange($event)'></lib-discuss-category>\n <lib-discuss-home *ngIf='state === homePage' [categoryHomeAction]='detailsPage' (stateChange)='stateChange($event)'></lib-discuss-home> -->\n <!-- <lib-discussion-details *ngIf='state === detailsPage' [widget]=\"true\" [topicId]='tid' [slug]='slug'></lib-discussion-details> -->\n <lib-discuss-all [context]='context'></lib-discuss-all>\n</div>", styles: [".widget-container{display:flex;width:100%}\n"] }]
36
+ }], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.DiscussionService }, { type: i3.NavigationServiceService }, { type: i4.EventsService }]; } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktd2lkZ2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rpc2N1c3Npb24tdWkvc3JjL2xpYi93cmFwcGVyL2NhdGVnb3J5LXdpZGdldC9jYXRlZ29yeS13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGlzY3Vzc2lvbi11aS9zcmMvbGliL3dyYXBwZXIvY2F0ZWdvcnktd2lkZ2V0L2NhdGVnb3J5LXdpZGdldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUt6RCxPQUFPLEtBQUssU0FBUyxNQUFNLDZCQUE2QixDQUFDO0FBRXpELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7O0FBTzlFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxvQkFBb0I7SUFVL0QsWUFBWSxTQUF3QixFQUFFLGlCQUFvQyxFQUFFLHdCQUFrRCxFQUFFLFlBQTJCO1FBQ3pKLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixDQUFDLENBQUE7UUFUN0Usa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsYUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUE7UUFDeEMsYUFBUSxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUE7SUFPbEMsQ0FBQztJQUdELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFBO1FBQ3pCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQTtZQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUE7U0FDeEI7SUFDSCxDQUFDO0lBRVMsb0JBQW9CLENBQUMsSUFBSTtJQUNuQyxDQUFDOytHQTVCVSx1QkFBdUI7bUdBQXZCLHVCQUF1QixpRkNkcEMsd2hCQUtNOzs0RkRTTyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGlzY3Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kaXNjdXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnXG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9uYXZpZ2F0aW9uLXNlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQgKiBhcyBDT05TVEFOVFMgZnJvbSAnLi4vLi4vY29tbW9uL2NvbnN0YW50cy5qc29uJztcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNlV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2Utd3JhcHBlci9iYXNlLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElkaXNjdXNzaW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Rpc2N1c3Npb24tY29uZmlnLm1vZGVsJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLWNhdGVnb3J5LXdpZGdldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRlZ29yeS13aWRnZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXRlZ29yeS13aWRnZXQuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIENhdGVnb3J5V2lkZ2V0Q29tcG9uZW50IGV4dGVuZHMgQmFzZVdyYXBwZXJDb21wb25lbnQge1xuXG4gIGRldGFpbHNUb2dnbGUgPSB0cnVlO1xuICBjYXRlZ29yeSA9IENPTlNUQU5UUy5DQVRFR09SWTtcbiAgZGV0YWlsc1BhZ2UgPSBDT05TVEFOVFMuQ0FURUdPUllfREVUQUlMU1xuICBob21lUGFnZSA9IENPTlNUQU5UUy5DQVRFR09SWV9IT01FXG4gIHRpZDogbnVtYmVyIFxuICBzbHVnOiBzdHJpbmcgXG4gIGNvbnRleHQ6IElkaXNjdXNzaW9uQ29uZmlnXG5cbiAgY29uc3RydWN0b3IoY29uZmlnU3ZjOiBDb25maWdTZXJ2aWNlLCBkaXNjdXNzaW9uU2VydmljZTogRGlzY3Vzc2lvblNlcnZpY2UsIG5hdmlnYXRpb25TZXJ2aWNlU2VydmljZTogTmF2aWdhdGlvblNlcnZpY2VTZXJ2aWNlLCBldmVudFNlcnZpY2U6IEV2ZW50c1NlcnZpY2UpIHtcbiAgICBzdXBlcihuYXZpZ2F0aW9uU2VydmljZVNlcnZpY2UsIGV2ZW50U2VydmljZSwgY29uZmlnU3ZjLCBkaXNjdXNzaW9uU2VydmljZSlcbiAgfVxuXG5cbiAgd3JhcHBlckluaXQoKSB7XG4gICAgdGhpcy5zdGF0ZSA9IHRoaXMuZGV0YWlsc1BhZ2U7XG4gIH1cblxuICBzdGF0ZUNoYW5nZShldmVudCkge1xuICAgIHRoaXMuc3RhdGUgPSBldmVudC5hY3Rpb25cbiAgICBpZiAoZXZlbnQuYWN0aW9uID09PSB0aGlzLmRldGFpbHNQYWdlKSB7XG4gICAgICB0aGlzLnRpZCA9IGV2ZW50LnRpZFxuICAgICAgdGhpcy5zbHVnID0gZXZlbnQudGl0bGVcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgd3JhcHBlckV2ZW50TGlzdGVuZXIoZGF0YSkge1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9J3dpZGdldC1jb250YWluZXInPlxuICAgIDwhLS0gPGxpYi1kaXNjdXNzLWNhdGVnb3J5ICpuZ0lmPSdzdGF0ZSA9PT0gY2F0ZWdvcnkgJyBbY2F0ZWdvcnlBY3Rpb25dPSdob21lUGFnZScgKHN0YXRlQ2hhbmdlKT0nc3RhdGVDaGFuZ2UoJGV2ZW50KSc+PC9saWItZGlzY3Vzcy1jYXRlZ29yeT5cbiAgICA8bGliLWRpc2N1c3MtaG9tZSAqbmdJZj0nc3RhdGUgPT09IGhvbWVQYWdlJyBbY2F0ZWdvcnlIb21lQWN0aW9uXT0nZGV0YWlsc1BhZ2UnIChzdGF0ZUNoYW5nZSk9J3N0YXRlQ2hhbmdlKCRldmVudCknPjwvbGliLWRpc2N1c3MtaG9tZT4gLS0+XG4gICAgPCEtLSA8bGliLWRpc2N1c3Npb24tZGV0YWlscyAqbmdJZj0nc3RhdGUgPT09IGRldGFpbHNQYWdlJyBbd2lkZ2V0XT1cInRydWVcIiBbdG9waWNJZF09J3RpZCcgW3NsdWddPSdzbHVnJz48L2xpYi1kaXNjdXNzaW9uLWRldGFpbHM+IC0tPlxuICAgIDxsaWItZGlzY3Vzcy1hbGwgW2NvbnRleHRdPSdjb250ZXh0Jz48L2xpYi1kaXNjdXNzLWFsbD5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { Component } from '@angular/core';
2
+ import { BaseWrapperComponent } from '../base-wrapper/base-wrapper.component';
3
+ import * as CONSTANTS from '../../common/constants.json';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/config.service";
6
+ import * as i2 from "../../services/discussion.service";
7
+ import * as i3 from "../../navigation-service.service";
8
+ import * as i4 from "../../events.service";
9
+ import * as i5 from "../../components/discuss-tags/discuss-tags.component";
10
+ import * as i6 from "@angular/common";
11
+ export class TagsWidgetComponent extends BaseWrapperComponent {
12
+ constructor(configSvc, discussionService, navigationServiceService, eventService) {
13
+ super(navigationServiceService, eventService, configSvc, discussionService);
14
+ this.tags = CONSTANTS.TAGS;
15
+ this.tagsAll = CONSTANTS.TAGSALL;
16
+ }
17
+ wrapperInit() {
18
+ this.state = this.tags;
19
+ }
20
+ wrapperEventListener(data) {
21
+ // if (data.action === this.tags || data.action === this.tagName) {
22
+ // this.state = data.action
23
+ // }
24
+ this.tagName = data.tagName;
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TagsWidgetComponent, deps: [{ token: i1.ConfigService }, { token: i2.DiscussionService }, { token: i3.NavigationServiceService }, { token: i4.EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TagsWidgetComponent, selector: "sb-tags-widget", usesInheritance: true, ngImport: i0, template: "<div >\n <lib-discuss-tags *ngIf='state === tags'></lib-discuss-tags>\n <!-- <lib-tag-all-discussion *ngIf='state === tagsAll' [tagName]='tagName'></lib-tag-all-discussion> -->\n <!-- <lib-discuss-home *ngIf='state === homePage'></lib-discuss-home>\n <lib-discussion-details *ngIf='state === detailsPage' [topicId]='tid' [slug]='slug'></lib-discussion-details> -->\n</div>", styles: [""], dependencies: [{ kind: "component", type: i5.DiscussTagsComponent, selector: "lib-discuss-tags", outputs: ["stateChange"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TagsWidgetComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'sb-tags-widget', template: "<div >\n <lib-discuss-tags *ngIf='state === tags'></lib-discuss-tags>\n <!-- <lib-tag-all-discussion *ngIf='state === tagsAll' [tagName]='tagName'></lib-tag-all-discussion> -->\n <!-- <lib-discuss-home *ngIf='state === homePage'></lib-discuss-home>\n <lib-discussion-details *ngIf='state === detailsPage' [topicId]='tid' [slug]='slug'></lib-discussion-details> -->\n</div>" }]
32
+ }], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.DiscussionService }, { type: i3.NavigationServiceService }, { type: i4.EventsService }]; } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGlzY3Vzc2lvbi11aS9zcmMvbGliL3dyYXBwZXIvdGFncy13aWRnZXQvdGFncy13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGlzY3Vzc2lvbi11aS9zcmMvbGliL3dyYXBwZXIvdGFncy13aWRnZXQvdGFncy13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUtsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEtBQUssU0FBUyxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7OztBQU96RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsb0JBQW9CO0lBTTNELFlBQVksU0FBd0IsRUFBRSxpQkFBb0MsRUFBRSx3QkFBa0QsRUFBRSxZQUEyQjtRQUN6SixLQUFLLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO1FBTDdFLFNBQUksR0FBVyxTQUFTLENBQUMsSUFBSSxDQUFBO1FBQzdCLFlBQU8sR0FBVyxTQUFTLENBQUMsT0FBTyxDQUFBO0lBS25DLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFBO0lBQ3hCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxJQUFJO1FBQ3ZCLG1FQUFtRTtRQUNuRSw2QkFBNkI7UUFDN0IsSUFBSTtRQUNKLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUM3QixDQUFDOytHQW5CVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiw2RUNiaEMsa1lBS007OzRGRFFPLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uL25hdmlnYXRpb24tc2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBEaXNjdXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Rpc2N1c3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBCYXNlV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2Utd3JhcHBlci9iYXNlLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIENPTlNUQU5UUyBmcm9tICcuLi8uLi9jb21tb24vY29uc3RhbnRzLmpzb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi10YWdzLXdpZGdldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWdzLXdpZGdldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhZ3Mtd2lkZ2V0LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWdzV2lkZ2V0Q29tcG9uZW50IGV4dGVuZHMgQmFzZVdyYXBwZXJDb21wb25lbnQge1xuXG4gIHRhZ3M6IHN0cmluZyA9IENPTlNUQU5UUy5UQUdTXG4gIHRhZ3NBbGw6IHN0cmluZyA9IENPTlNUQU5UUy5UQUdTQUxMXG4gIHRhZ05hbWU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZ1N2YzogQ29uZmlnU2VydmljZSwgZGlzY3Vzc2lvblNlcnZpY2U6IERpc2N1c3Npb25TZXJ2aWNlLCBuYXZpZ2F0aW9uU2VydmljZVNlcnZpY2U6IE5hdmlnYXRpb25TZXJ2aWNlU2VydmljZSwgZXZlbnRTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlKSB7XG4gICAgc3VwZXIobmF2aWdhdGlvblNlcnZpY2VTZXJ2aWNlLCBldmVudFNlcnZpY2UsIGNvbmZpZ1N2YywgZGlzY3Vzc2lvblNlcnZpY2UpXG4gIH1cblxuICB3cmFwcGVySW5pdCgpIHtcbiAgICB0aGlzLnN0YXRlID0gdGhpcy50YWdzXG4gIH1cblxuICB3cmFwcGVyRXZlbnRMaXN0ZW5lcihkYXRhKSB7XG4gICAgLy8gaWYgKGRhdGEuYWN0aW9uID09PSB0aGlzLnRhZ3MgfHwgZGF0YS5hY3Rpb24gPT09IHRoaXMudGFnTmFtZSkge1xuICAgIC8vICAgdGhpcy5zdGF0ZSA9IGRhdGEuYWN0aW9uXG4gICAgLy8gfVxuICAgIHRoaXMudGFnTmFtZSA9IGRhdGEudGFnTmFtZVxuICB9XG5cbn1cbiIsIjxkaXYgPlxuICAgIDxsaWItZGlzY3Vzcy10YWdzICpuZ0lmPSdzdGF0ZSA9PT0gdGFncyc+PC9saWItZGlzY3Vzcy10YWdzPlxuICAgIDwhLS0gPGxpYi10YWctYWxsLWRpc2N1c3Npb24gKm5nSWY9J3N0YXRlID09PSB0YWdzQWxsJyBbdGFnTmFtZV09J3RhZ05hbWUnPjwvbGliLXRhZy1hbGwtZGlzY3Vzc2lvbj4gLS0+XG4gICAgPCEtLSA8bGliLWRpc2N1c3MtaG9tZSAqbmdJZj0nc3RhdGUgPT09IGhvbWVQYWdlJz48L2xpYi1kaXNjdXNzLWhvbWU+XG4gICAgPGxpYi1kaXNjdXNzaW9uLWRldGFpbHMgKm5nSWY9J3N0YXRlID09PSBkZXRhaWxzUGFnZScgW3RvcGljSWRdPSd0aWQnIFtzbHVnXT0nc2x1Zyc+PC9saWItZGlzY3Vzc2lvbi1kZXRhaWxzPiAtLT5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { EventEmitter } from 'events';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./events.service";
5
+ //TODO: Need to cleanup this service since we are not gonna use
6
+ export class WrapperNavigateService {
7
+ constructor(_eventService) {
8
+ this._eventService = _eventService;
9
+ this.closeSideNav = new EventEmitter();
10
+ }
11
+ navigate(input) {
12
+ // this._eventService.toggle(input)
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WrapperNavigateService, deps: [{ token: i1.EventsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
15
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WrapperNavigateService, providedIn: 'root' }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WrapperNavigateService, decorators: [{
18
+ type: Injectable,
19
+ args: [{
20
+ providedIn: 'root'
21
+ }]
22
+ }], ctorParameters: function () { return [{ type: i1.EventsService }]; } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlci1uYXZpZ2F0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZGlzY3Vzc2lvbi11aS9zcmMvbGliL3dyYXBwZXItbmF2aWdhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7OztBQU90QywrREFBK0Q7QUFDL0QsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUZoRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7SUFFbUIsQ0FBQztJQUVyRCxRQUFRLENBQUMsS0FBSztRQUNkLG9DQUFvQztJQUNwQyxDQUFDOytHQVJVLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBSnJCLE1BQU07OzRGQUlQLHNCQUFzQjtrQkFMbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdldmVudHMnO1xuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4vZXZlbnRzLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuLy9UT0RPOiBOZWVkIHRvIGNsZWFudXAgdGhpcyBzZXJ2aWNlIHNpbmNlIHdlIGFyZSBub3QgZ29ubmEgdXNlXG5leHBvcnQgY2xhc3MgV3JhcHBlck5hdmlnYXRlU2VydmljZSB7XG5cbiAgY2xvc2VTaWRlTmF2ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZXZlbnRTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlKSB7IH1cblxuICBuYXZpZ2F0ZShpbnB1dCl7IFxuICAvLyAgdGhpcy5fZXZlbnRTZXJ2aWNlLnRvZ2dsZShpbnB1dClcbiAgfVxufVxuIl19
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Public API Surface of discussion-ui
3
+ */
4
+ export * from './lib/discussion-ui.module';
5
+ export * from './lib/discussion-events.service';
6
+ export * from './lib/models/discussion-config.model';
7
+ export * from './lib/services/config.service';
8
+ export * from './lib/services/discussion.service';
9
+ export * from './lib/wrapper-navigate.service';
10
+ export * from './lib/discussion-events.service';
11
+ export * from './lib/events.service';
12
+ export * from './lib/navigation-service.service';
13
+ export * from './lib/services/abstract-config.service';
14
+ export * from './lib/wrapper/category-widget/category-widget.component';
15
+ export * from './lib/wrapper/base-wrapper/base-wrapper.component';
16
+ export * from './lib/wrapper/tags-widget/tags-widget.component';
17
+ export * from './lib/components/components.module';
18
+ export * from './lib/components/discuss-all/discuss-all.component';
19
+ export * from './lib/components/discuss-category/discuss-category.component';
20
+ export * from './lib/components/discuss-home/discuss-home.component';
21
+ export * from './lib/components/discuss-start/discuss-start.component';
22
+ export * from './lib/components/discuss-tags/discuss-tags.component';
23
+ export * from './lib/components/discussion-details/discussion-details.component';
24
+ export * from './lib/components/lib-entry/lib-entry.component';
25
+ export * from './lib/components/my-discussion/my-discussion.component';
26
+ export * from './lib/components/side-pannel/side-pannel.component';
27
+ export * from './lib/components/tag-all-discussion/tag-all-discussion.component';
28
+ export * from './lib/components/trending-tags/trending-tags.component';
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Rpc2N1c3Npb24tdWkvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLCtCQUErQixDQUFBO0FBQzdDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsc0JBQXNCLENBQUE7QUFDcEMsY0FBYyxrQ0FBa0MsQ0FBQTtBQUNoRCxjQUFjLHdDQUF3QyxDQUFBO0FBQ3RELGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyxvREFBb0QsQ0FBQTtBQUNsRSxjQUFjLDhEQUE4RCxDQUFBO0FBQzVFLGNBQWMsc0RBQXNELENBQUE7QUFDcEUsY0FBYyx3REFBd0QsQ0FBQTtBQUN0RSxjQUFjLHNEQUFzRCxDQUFBO0FBQ3BFLGNBQWMsa0VBQWtFLENBQUE7QUFDaEYsY0FBYyxnREFBZ0QsQ0FBQTtBQUM5RCxjQUFjLHdEQUF3RCxDQUFBO0FBQ3RFLGNBQWMsb0RBQW9ELENBQUE7QUFDbEUsY0FBYyxrRUFBa0UsQ0FBQTtBQUNoRixjQUFjLHdEQUF3RCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBkaXNjdXNzaW9uLXVpXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlzY3Vzc2lvbi11aS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlzY3Vzc2lvbi1ldmVudHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGlzY3Vzc2lvbi1jb25maWcubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY29uZmlnLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9kaXNjdXNzaW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvd3JhcHBlci1uYXZpZ2F0ZS5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlzY3Vzc2lvbi1ldmVudHMuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V2ZW50cy5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2aWdhdGlvbi1zZXJ2aWNlLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hYnN0cmFjdC1jb25maWcuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3dyYXBwZXIvY2F0ZWdvcnktd2lkZ2V0L2NhdGVnb3J5LXdpZGdldC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi93cmFwcGVyL2Jhc2Utd3JhcHBlci9iYXNlLXdyYXBwZXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvd3JhcHBlci90YWdzLXdpZGdldC90YWdzLXdpZGdldC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbXBvbmVudHMubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kaXNjdXNzLWFsbC9kaXNjdXNzLWFsbC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Rpc2N1c3MtY2F0ZWdvcnkvZGlzY3Vzcy1jYXRlZ29yeS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Rpc2N1c3MtaG9tZS9kaXNjdXNzLWhvbWUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kaXNjdXNzLXN0YXJ0L2Rpc2N1c3Mtc3RhcnQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kaXNjdXNzLXRhZ3MvZGlzY3Vzcy10YWdzLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGlzY3Vzc2lvbi1kZXRhaWxzL2Rpc2N1c3Npb24tZGV0YWlscy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xpYi1lbnRyeS9saWItZW50cnkuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9teS1kaXNjdXNzaW9uL215LWRpc2N1c3Npb24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zaWRlLXBhbm5lbC9zaWRlLXBhbm5lbC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RhZy1hbGwtZGlzY3Vzc2lvbi90YWctYWxsLWRpc2N1c3Npb24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90cmVuZGluZy10YWdzL3RyZW5kaW5nLXRhZ3MuY29tcG9uZW50J1xuXG5cblxuXG5cblxuXG5cblxuXG5cbiJdfQ==