@ksremp/ngx-ksremp-app-lib 1.0.26 → 2.0.0

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 (40) hide show
  1. package/esm2022/lib/components/chatbot-lex/chatbot-lex.component.mjs +609 -0
  2. package/esm2022/lib/components/footer/footer.component.mjs +11 -13
  3. package/esm2022/lib/components/header/header.component.mjs +50 -45
  4. package/esm2022/lib/components/user-login/user-login.component.mjs +43 -3
  5. package/esm2022/lib/models/LibConstants.mjs +2 -8
  6. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +10 -5
  7. package/esm2022/lib/pages/BasePage.mjs +4 -1
  8. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +12 -14
  9. package/esm2022/lib/services/lex-chat/lex-chat.service.mjs +86 -0
  10. package/esm2022/public-api.mjs +4 -3
  11. package/fesm2022/ksremp-ngx-ksremp-app-lib.mjs +1016 -582
  12. package/fesm2022/ksremp-ngx-ksremp-app-lib.mjs.map +1 -1
  13. package/lib/components/chatbot-lex/chatbot-lex.component.d.ts +79 -0
  14. package/lib/components/chatbot-lex/chatbot-lex.component.d.ts.map +1 -0
  15. package/lib/components/footer/footer.component.d.ts +1 -3
  16. package/lib/components/footer/footer.component.d.ts.map +1 -1
  17. package/lib/components/header/header.component.d.ts +2 -1
  18. package/lib/components/header/header.component.d.ts.map +1 -1
  19. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +1 -1
  20. package/lib/components/user-login/user-login.component.d.ts +4 -1
  21. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  22. package/lib/models/LibConstants.d.ts +1 -7
  23. package/lib/models/LibConstants.d.ts.map +1 -1
  24. package/lib/ngx-reusa-app-lib.module.d.ts +61 -60
  25. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  26. package/lib/pages/BasePage.d.ts +1 -0
  27. package/lib/pages/BasePage.d.ts.map +1 -1
  28. package/lib/pages/common/landing2/landing2.component.d.ts +1 -3
  29. package/lib/pages/common/landing2/landing2.component.d.ts.map +1 -1
  30. package/lib/services/lex-chat/lex-chat.service.d.ts +24 -0
  31. package/lib/services/lex-chat/lex-chat.service.d.ts.map +1 -0
  32. package/package.json +1 -1
  33. package/public-api.d.ts +2 -2
  34. package/public-api.d.ts.map +1 -1
  35. package/esm2022/lib/services/chatbot/chatbot.service.mjs +0 -258
  36. package/esm2022/lib/services/chatbot/script.const.mjs +0 -42
  37. package/lib/services/chatbot/chatbot.service.d.ts +0 -61
  38. package/lib/services/chatbot/chatbot.service.d.ts.map +0 -1
  39. package/lib/services/chatbot/script.const.d.ts +0 -16
  40. package/lib/services/chatbot/script.const.d.ts.map +0 -1
@@ -1,258 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { LibConstants } from '../../models/LibConstants';
4
- import { ScriptConstant } from './script.const';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../logger/logger.service";
7
- import * as i2 from "../login/login.service";
8
- import * as i3 from "../util/util.service";
9
- export class ChatbotService {
10
- constructor(rendererFactory, logger, ls, util) {
11
- this.logger = logger;
12
- this.ls = ls;
13
- this.util = util;
14
- this.map = new Map();
15
- //todo: add ksCustomData
16
- this.msCustomData = {
17
- connectingMessage: "Welcome to ReEmployMS. I am your virtual assistant to help you with MDES related queries.",
18
- hoverMessage: "Ask chat bot",
19
- botState: "MS",
20
- showCollectUserDetailForm: true,
21
- showDisclaimerPopUp: true,
22
- showChatBubbleAtClosed: false,
23
- botAvatarImageName: "AvatarIcon.png",
24
- botIconImageName: "AvatarIcon.png",
25
- formBannerPath: "",
26
- rootFilePath: "UI/",
27
- supportedLanguages: ["en"],
28
- initialLanguage: "en",
29
- // starterTask: {en:"Forgot Password", es:"Forgot Password"},
30
- disclaimerPopup: {
31
- header: "Important message",
32
- message: `MDES' virtual assistant will ask for specific identifying information, such as Social Security Number and Date of Birth, that is needed to answer your question(s).</br></br> MDES follows strict federal security guidelines to protect your sensitive information.</br></br>To further protect your information you should close the chat window and browser when you are finished.</p>`
33
- },
34
- headerConfig: {
35
- showLanguageToggle: false,
36
- showMinimizeButton: false,
37
- showExpandButton: false,
38
- showReloadButton: false,
39
- }
40
- };
41
- this.meCustomData = {
42
- connectingMessage: "Welcome to ReEmployME. I am your virtual assistant to help you with ME related queries.",
43
- hoverMessage: "Ask Blue",
44
- botState: "ME",
45
- showCollectUserDetailForm: false,
46
- showDisclaimerPopUp: true,
47
- showChatBubbleAtClosed: false,
48
- botIconImageName: "BlueIcon.svg",
49
- botAvatarImageName: "BlueIcon.svg",
50
- formBannerPath: "",
51
- rootFilePath: "UI/",
52
- supportedLanguages: ["en"],
53
- initialLanguage: "en",
54
- disclaimerPopup: {
55
- header: "Important message",
56
- message: `MEDOL's virtual assistant may ask you specific identifying information, such as Social Security Number and Date of Birth, that is needed to answer your question(s). ME DOL follows strict federal security guidelines to protect your sensitive information. To further protect your information you should close the chat window and browser when you are finished.`
57
- },
58
- headerConfig: {
59
- showLanguageToggle: false,
60
- showMinimizeButton: true,
61
- showExpandButton: false,
62
- showReloadButton: true,
63
- }
64
- };
65
- this.ctCustomData = {
66
- connectingMessage: "Welcome to ReEmployCT. I am your virtual assistant to help you with ME related queries.",
67
- hoverMessage: "Ask Blue",
68
- botState: "CT",
69
- showCollectUserDetailForm: true,
70
- showDisclaimerPopUp: true,
71
- showChatBubbleAtClosed: false,
72
- botIconImageName: "chatboticon.png",
73
- botAvatarImageName: "chatboticon.png",
74
- formBannerPath: "",
75
- rootFilePath: "UI/",
76
- supportedLanguages: ["en", "es"],
77
- initialLanguage: "en",
78
- disclaimerPopup: {
79
- header: "Important message",
80
- message: `The CTDOL virtual assistant will need to ask for specific identifying information that is needed to answer your question(s) such as date of birth or Social Security number. The agency follows strict federal security guidelines to protect your sensitive information. To further protect your information, if you are on a public computer, please log out and close your browser when you are finished.`
81
- },
82
- headerConfig: {
83
- showLanguageToggle: true,
84
- showMinimizeButton: true,
85
- showExpandButton: false,
86
- showReloadButton: true,
87
- }
88
- };
89
- this.botOptions = {};
90
- this.koreBot = {};
91
- this.initChatbot = new BehaviorSubject(false);
92
- this.showChatbot = (LibConstants.enableChatbot == 'true');
93
- this.renderer = rendererFactory.createRenderer(null, null);
94
- this.logger.info('ChatbotService initializzed successfully.');
95
- this.map.set("ms", this.msCustomData);
96
- this.map.set("me", this.meCustomData);
97
- this.map.set("ct", this.ctCustomData);
98
- this.getChatbotBs().subscribe(val => {
99
- if (val) {
100
- this.logger.info('Initializing Chatbot.');
101
- this.initializeChatbot();
102
- }
103
- });
104
- }
105
- getChatbotBs() {
106
- return this.initChatbot;
107
- }
108
- initialize() {
109
- this.initChatbot.next(true);
110
- }
111
- loadScripAndStyle() {
112
- if (!LibConstants.production && this.showChatbot) { //set this property to true if you want to test this in local env.
113
- this.logger.info('Not Loading Chatbot as current environment is not production. Set "production=true" and "showChatbot=true" if you want to test chatbot in local env.');
114
- return;
115
- ;
116
- }
117
- else {
118
- this.logger.info('Loading chatbot ...');
119
- }
120
- ScriptConstant.importUrls.forEach(scriptElement => {
121
- // other than js and stylesheet are ignored
122
- if (scriptElement.type === ScriptConstant.jsProperty) {
123
- const jsScriptNode = document.createElement('script');
124
- //// jsScriptNode.src = environment.koreAiWebSdkUrl + scriptElement.url;
125
- jsScriptNode.src = LibConstants.koreAiWebSdkUrl + scriptElement.url;
126
- jsScriptNode.type = 'text/javascript';
127
- if (scriptElement.async == null) {
128
- this.logger.info(jsScriptNode.src + " will be loaded as async because of null async value");
129
- jsScriptNode.async = true;
130
- }
131
- else if (scriptElement.async == true) {
132
- this.logger.info(scriptElement.url + " will be loaded as async because of null async true");
133
- jsScriptNode.async = true;
134
- }
135
- else {
136
- this.logger.info(scriptElement.url + " will be loaded as async=false");
137
- jsScriptNode.async = false;
138
- }
139
- this.renderer.appendChild(document.getElementsByTagName('head')[0], jsScriptNode);
140
- document.getElementsByTagName('head')[0].appendChild(jsScriptNode);
141
- }
142
- else if (scriptElement.type === ScriptConstant.cssProperty) {
143
- const styleNode = document.createElement('link');
144
- styleNode.rel = 'stylesheet';
145
- styleNode.href = LibConstants.koreAiWebSdkUrl + scriptElement.url;
146
- this.renderer.appendChild(document.getElementsByTagName('head')[0], styleNode);
147
- }
148
- else if (scriptElement.type === ScriptConstant.cssPropertyAbsolute) {
149
- const styleNode = document.createElement('link');
150
- styleNode.rel = 'stylesheet';
151
- styleNode.href = scriptElement.url;
152
- this.renderer.appendChild(document.getElementsByTagName('head')[0], styleNode);
153
- }
154
- else {
155
- this.logger.error('url ' + scriptElement.url + ' is not going to be loaded because of invalid type ' + scriptElement.type);
156
- }
157
- }); // for each
158
- }
159
- initializeChatbot() {
160
- this.openbot();
161
- }
162
- /***
163
- *
164
- * @description Initialize the chatbot with logged-in user. If user is not logged-in then bot session will be created using unique timestamp.
165
- */
166
- openbot() {
167
- let userId = null;
168
- if (this.ls.getUser()) {
169
- userId = this.ls.getUser().username + '_' + this.ls.getUser().userType;
170
- this.botOptions.accessToken = this.ls.getUser().access_token;
171
- }
172
- else {
173
- userId = Math.floor((Math.random() * 10000000) + 1) + "_" + new Date().getMilliseconds() + "@mdes.ms.gov";
174
- }
175
- //***CODE_START
176
- this.botOptions.logLevel = 'debug';
177
- this.botOptions.koreAPIUrl = LibConstants.koreAiChatbotServer;
178
- //botOptions.koreSpeechAPIUrl = "https://speech.kore.ai/";
179
- //botOptions.bearer = "bearer xyz-------------------";
180
- //botOptions.ttsSocketUrl = 'wss://speech.kore.ai/tts/ws';
181
- this.botOptions.recorderWorkerPath = './libs/recorderWorker.js';
182
- this.botOptions.assertionFn = (options, callback) => this.assertion(options, callback);
183
- //botOptions.koreAnonymousFn = koreAnonymousFn;
184
- this.botOptions.JWTUrl = LibConstants.koreAiJwtService;
185
- this.botOptions.userIdentity = userId; // Provide users email id here
186
- this.botOptions.botInfo = {
187
- name: LibConstants.koreAiBotName,
188
- "_id": LibConstants.koreAiBotId,
189
- customData: this.map.get(this.util.getStateLowercase()) ? this.map.get(this.util.getStateLowercase()) : this.map.get('ms'),
190
- // customData: { connectingMessage: "Welcome to ReEmployME. I am your virtual assistant to help you with ME related queries.", hoverMessage: "Ask Blue", botState: "ME", showCollectUserDetailForm: false, showDisclaimerPopUp: true, botIconImageName: "chatboticon.png", botAvatarImageName: "chatboticon.png", rootFilePath: "UI/", supportedLanguages: ["en", "es"], initialLanguage: "en", disclaimerPopup: { header: "Important Message", message: `The virtual assistant will need to ask for specific identifying information that is needed to answer you question(s) such as date of birth or Social Security number. The agency follows strict federal security guidelines to protect your sensitive information. To further protect your information, if you are on a public computer, please log out and close your browser when you are finished.`, }, headerConfig: { showLanguageToggle: true, showMinimizeButton: true, showExpandbutton: false, showReloadButton: true, } }
191
- }; // bot name is case sensitive
192
- this.botOptions.clientId = LibConstants.koreAiClientId;
193
- //this.botOptions.clientSecret = LibConstants.koreAiClientSecret;
194
- //this.botOptions.reemployUsBearerToken= "";
195
- // will need to pass token to koreAiChatBotServer when authentication needs to be validated for server side api call
196
- var chatConfig = {
197
- botOptions: this.botOptions,
198
- allowIframe: false,
199
- isSendButton: true,
200
- isTTSEnabled: false,
201
- isSpeechEnabled: false,
202
- allowGoogleSpeech: false,
203
- allowLocation: false,
204
- loadHistory: false,
205
- messageHistoryLimit: 10,
206
- autoEnableSpeechAndTTS: false,
207
- graphLib: "d3"
208
- };
209
- if (Object.keys(this.koreBot).length === 0) {
210
- this.koreBot = koreBotChat();
211
- this.koreBot.show(chatConfig);
212
- }
213
- else {
214
- this.koreBot.resumeChatWindow();
215
- }
216
- //***CODE_END
217
- }
218
- assertion(options, callback) {
219
- var jsonData = {
220
- "clientId": this.botOptions.clientId,
221
- "clientSecret": this.botOptions.clientSecret,
222
- "identity": options.userIdentity || this.botOptions.userIdentity,
223
- "aud": "",
224
- "isAnonymous": (this.ls.getUser() == null),
225
- "accessToken": this.botOptions.accessToken
226
- };
227
- $.ajax({
228
- url: this.botOptions.JWTUrl,
229
- type: 'post',
230
- data: jsonData,
231
- dataType: 'json',
232
- success: (data) => {
233
- options.assertion = data.jwt;
234
- options.handleError = this.koreBot.showError;
235
- options.chatHistory = this.koreBot.chatHistory;
236
- options.botDetails = this.koreBot.botDetails;
237
- callback(null, options);
238
- setTimeout(function () {
239
- if (this.koreBot && this.koreBot.initToken) {
240
- this.koreBot.initToken(options);
241
- }
242
- }, 2000);
243
- },
244
- error: (err) => {
245
- this.koreBot.showError(err.responseText);
246
- }
247
- });
248
- }
249
- static { this.ɵfac = function ChatbotService_Factory(t) { return new (t || ChatbotService)(i0.ɵɵinject(i0.RendererFactory2), i0.ɵɵinject(i1.LoggerService), i0.ɵɵinject(i2.LoginService), i0.ɵɵinject(i3.UtilService)); }; }
250
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ChatbotService, factory: ChatbotService.ɵfac, providedIn: 'root' }); }
251
- }
252
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ChatbotService, [{
253
- type: Injectable,
254
- args: [{
255
- providedIn: 'root'
256
- }]
257
- }], () => [{ type: i0.RendererFactory2 }, { type: i1.LoggerService }, { type: i2.LoginService }, { type: i3.UtilService }], null); })();
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdGJvdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9jaGF0Ym90L2NoYXRib3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBcUNoRCxNQUFNLE9BQU8sY0FBYztJQW1GekIsWUFBWSxlQUFpQyxFQUFVLE1BQXFCLEVBQVUsRUFBZ0IsRUFBVSxJQUFpQjtRQUExRSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUFVLFNBQUksR0FBSixJQUFJLENBQWE7UUFqRmpJLFFBQUcsR0FBNEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN6Qyx3QkFBd0I7UUFDeEIsaUJBQVksR0FBZTtZQUN6QixpQkFBaUIsRUFBRSwyRkFBMkY7WUFDOUcsWUFBWSxFQUFFLGNBQWM7WUFDNUIsUUFBUSxFQUFFLElBQUk7WUFDZCx5QkFBeUIsRUFBRSxJQUFJO1lBQy9CLG1CQUFtQixFQUFFLElBQUk7WUFDekIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixrQkFBa0IsRUFBRSxnQkFBZ0I7WUFDcEMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFlBQVksRUFBRSxLQUFLO1lBQ25CLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDO1lBQzFCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLDZEQUE2RDtZQUM3RCxlQUFlLEVBQUU7Z0JBQ2YsTUFBTSxFQUFFLG1C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LEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUM3QixPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO2dCQUM3QyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO2dCQUMvQyxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO2dCQUM3QyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUN4QixVQUFVLENBQUM7b0JBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO3dCQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDakM7Z0JBQ0gsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ1gsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrRUEzUFUsY0FBYzt1RUFBZCxjQUFjLFdBQWQsY0FBYyxtQkFGYixNQUFNOztpRkFFUCxjQUFjO2NBSDFCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTY3JpcHRDb25zdGFudCB9IGZyb20gJy4vc2NyaXB0LmNvbnN0JztcclxuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vbG9naW4vbG9naW4uc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5cclxuZGVjbGFyZSBjb25zdCBrb3JlQm90Q2hhdDogYW55O1xyXG5kZWNsYXJlIGNvbnN0ICQ6IGFueTtcclxuXHJcbmludGVyZmFjZSBEaXNjbGFpbWVyUG9wdXAge1xyXG4gIGhlYWRlcjogc3RyaW5nO1xyXG4gIG1lc3NhZ2U6IHN0cmluZ1xyXG59XHJcbmludGVyZmFjZSBIZWFkZXJDb25maWcge1xyXG4gIHNob3dMYW5ndWFnZVRvZ2dsZTogYm9vbGVhbjtcclxuICBzaG93TWluaW1pemVCdXR0b246IGJvb2xlYW47XHJcbiAgc2hvd0V4cGFuZEJ1dHRvbjogYm9vbGVhbjtcclxuICBzaG93UmVsb2FkQnV0dG9uOiBib29sZWFuO1xyXG59XHJcbmludGVyZmFjZSBDdXN0b21EYXRhIHtcclxuICBjb25uZWN0aW5nTWVzc2FnZTogc3RyaW5nO1xyXG4gIGhvdmVyTWVzc2FnZTogc3RyaW5nO1xyXG4gIGJvdFN0YXRlOiBzdHJpbmc7XHJcbiAgc2hvd0NvbGxlY3RVc2VyRGV0YWlsRm9ybTogYm9vbGVhbjtcclxuICBzaG93RGlzY2xhaW1lclBvcFVwOiBib29sZWFuO1xyXG4gIHNob3dDaGF0QnViYmxlQXRDbG9zZWQ6IGJvb2xlYW47XHJcbiAgYm90QXZhdGFySW1hZ2VOYW1lOiBzdHJpbmc7XHJcbiAgYm90SWNvbkltYWdlTmFtZTogc3RyaW5nO1xyXG4gIGZvcm1CYW5uZXJQYXRoOiBzdHJpbmcsXHJcbiAgcm9vdEZpbGVQYXRoOiBzdHJpbmc7XHJcbiAgc3VwcG9ydGVkTGFuZ3VhZ2VzOiBzdHJpbmdbXTtcclxuICBpbml0aWFsTGFuZ3VhZ2U6IHN0cmluZztcclxuICBkaXNjbGFpbWVyUG9wdXA6IERpc2NsYWltZXJQb3B1cDtcclxuICBoZWFkZXJDb25maWc6IEhlYWRlckNvbmZpZztcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hhdGJvdFNlcnZpY2Uge1xyXG5cclxuICBtYXA6IE1hcDxzdHJpbmcsIEN1c3RvbURhdGE+ID0gbmV3IE1hcCgpO1xyXG4gIC8vdG9kbzogYWRkIGtzQ3VzdG9tRGF0YVxyXG4gIG1zQ3VzdG9tRGF0YTogQ3VzdG9tRGF0YSA9IHtcclxuICAgIGNvbm5lY3RpbmdNZXNzYWdlOiBcIldlbGNvbWUgdG8gUmVFbXBsb3lNUy4gSSBhbSB5b3VyIHZpcnR1YWwgYXNzaXN0YW50IHRvIGhlbHAgeW91IHdpdGggTURFUyByZWxhdGVkIHF1ZXJpZXMuXCIsXHJcbiAgICBob3Zlck1lc3NhZ2U6IFwiQXNrIGNoYXQgYm90XCIsXHJcbiAgICBib3RTdGF0ZTogXCJNU1wiLFxyXG4gICAgc2hvd0NvbGxlY3RVc2VyRGV0YWlsRm9ybTogdHJ1ZSxcclxuICAgIHNob3dEaXNjbGFpbWVyUG9wVXA6IHRydWUsXHJcbiAgICBzaG93Q2hhdEJ1YmJsZUF0Q2xvc2VkOiBmYWxzZSxcclxuICAgIGJvdEF2YXRhckltYWdlTmFtZTogXCJBdmF0YXJJY29uLnBuZ1wiLFxyXG4gICAgYm90SWNvbkltYWdlTmFtZTogXCJBdmF0YXJJY29uLnBuZ1wiLFxyXG4gICAgZm9ybUJhbm5lclBhdGg6IFwiXCIsXHJcbiAgICByb290RmlsZVBhdGg6IFwiVUkvXCIsXHJcbiAgICBzdXBwb3J0ZWRMYW5ndWFnZXM6IFtcImVuXCJdLFxyXG4gICAgaW5pdGlhbExhbmd1YWdlOiBcImVuXCIsXHJcbiAgICAvLyBzdGFydGVyVGFzazoge2VuOlwiRm9yZ290IFBhc3N3b3JkXCIsIGVzOlwiRm9yZ290IFBhc3N3b3JkXCJ9LFxyXG4gICAgZGlzY2xhaW1lclBvcHVwOiB7XHJcbiAgICAgIGhlYWRlcjogXCJJbXBvcnRhbnQgbWVzc2FnZVwiLFxyXG4gICAgICBtZXNzYWdlOiBgTURFUycgdmlydHVhbCBhc3Npc3RhbnQgd2lsbCBhc2sgZm9yIHNwZWNpZmljIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLCBzdWNoIGFzIFNvY2lhbCBTZWN1cml0eSBOdW1iZXIgYW5kIERhdGUgb2YgQmlydGgsIHRoYXQgaXMgbmVlZGVkIHRvIGFuc3dlciB5b3VyIHF1ZXN0aW9uKHMpLjwvYnI+PC9icj4gTURFUyBmb2xsb3dzIHN0cmljdCBmZWRlcmFsIHNlY3VyaXR5IGd1aWRlbGluZXMgdG8gcHJvdGVjdCB5b3VyIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbi48L2JyPjwvYnI+VG8gZnVydGhlciBwcm90ZWN0IHlvdXIgaW5mb3JtYXRpb24geW91IHNob3VsZCBjbG9zZSB0aGUgY2hhdCB3aW5kb3cgYW5kIGJyb3dzZXIgd2hlbiB5b3UgYXJlIGZpbmlzaGVkLjwvcD5gXHJcbiAgICB9LFxyXG4gICAgaGVhZGVyQ29uZmlnOiB7XHJcbiAgICAgIHNob3dMYW5ndWFnZVRvZ2dsZTogZmFsc2UsXHJcbiAgICAgIHNob3dNaW5pbWl6ZUJ1dHRvbjogZmFsc2UsXHJcbiAgICAgIHNob3dFeHBhbmRCdXR0b246IGZhbHNlLFxyXG4gICAgICBzaG93UmVsb2FkQnV0dG9uOiBmYWxzZSxcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1lQ3VzdG9tRGF0YTogQ3VzdG9tRGF0YSA9IHtcclxuICAgIGNvbm5lY3RpbmdNZXNzYWdlOiBcIldlbGNvbWUgdG8gUmVFbXBsb3lNRS4gSSBhbSB5b3VyIHZpcnR1YWwgYXNzaXN0YW50IHRvIGhlbHAgeW91IHdpdGggTUUgcmVsYXRlZCBxdWVyaWVzLlwiLFxyXG4gICAgaG92ZXJNZXNzYWdlOiBcIkFzayBCbHVlXCIsXHJcbiAgICBib3RTdGF0ZTogXCJNRVwiLFxyXG4gICAgc2hvd0NvbGxlY3RVc2VyRGV0YWlsRm9ybTogZmFsc2UsXHJcbiAgICBzaG93RGlzY2xhaW1lclBvcFVwOiB0cnVlLFxyXG4gICAgc2hvd0NoYXRCdWJibGVBdENsb3NlZDogZmFsc2UsXHJcbiAgICBib3RJY29uSW1hZ2VOYW1lOiBcIkJsdWVJY29uLnN2Z1wiLFxyXG4gICAgYm90QXZhdGFySW1hZ2VOYW1lOiBcIkJsdWVJY29uLnN2Z1wiLFxyXG4gICAgZm9ybUJhbm5lclBhdGg6IFwiXCIsXHJcbiAgICByb290RmlsZVBhdGg6IFwiVUkvXCIsXHJcbiAgICBzdXBwb3J0ZWRMYW5ndWFnZXM6IFtcImVuXCJdLFxyXG4gICAgaW5pdGlhbExhbmd1YWdlOiBcImVuXCIsXHJcbiAgICBkaXNjbGFpbWVyUG9wdXA6IHtcclxuICAgICAgaGVhZGVyOiBcIkltcG9ydGFudCBtZXNzYWdlXCIsXHJcbiAgICAgIG1lc3NhZ2U6IGBNRURPTCdzIHZpcnR1YWwgYXNzaXN0YW50IG1heSBhc2sgeW91IHNwZWNpZmljIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLCBzdWNoIGFzIFNvY2lhbCBTZWN1cml0eSBOdW1iZXIgYW5kIERhdGUgb2YgQmlydGgsIHRoYXQgaXMgbmVlZGVkIHRvIGFuc3dlciB5b3VyIHF1ZXN0aW9uKHMpLiBNRSBET0wgZm9sbG93cyBzdHJpY3QgZmVkZXJhbCBzZWN1cml0eSBndWlkZWxpbmVzIHRvIHByb3RlY3QgeW91ciBzZW5zaXRpdmUgaW5mb3JtYXRpb24uIFRvIGZ1cnRoZXIgcHJvdGVjdCB5b3VyIGluZm9ybWF0aW9uIHlvdSBzaG91bGQgY2xvc2UgdGhlIGNoYXQgd2luZG93IGFuZCBicm93c2VyIHdoZW4geW91IGFyZSBmaW5pc2hlZC5gXHJcbiAgICB9LFxyXG4gICAgaGVhZGVyQ29uZmlnOiB7XHJcbiAgICAgIHNob3dMYW5ndWFnZVRvZ2dsZTogZmFsc2UsXHJcbiAgICAgIHNob3dNaW5pbWl6ZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgc2hvd0V4cGFuZEJ1dHRvbjogZmFsc2UsXHJcbiAgICAgIHNob3dSZWxvYWRCdXR0b246IHRydWUsXHJcbiAgICB9XHJcbiAgfVxyXG4gIGN0Q3VzdG9tRGF0YTogQ3VzdG9tRGF0YSA9IHtcclxuICAgIGNvbm5lY3RpbmdNZXNzYWdlOiBcIldlbGNvbWUgdG8gUmVFbXBsb3lDVC4gSSBhbSB5b3VyIHZpcnR1YWwgYXNzaXN0YW50IHRvIGhlbHAgeW91IHdpdGggTUUgcmVsYXRlZCBxdWVyaWVzLlwiLFxyXG4gICAgaG92ZXJNZXNzYWdlOiBcIkFzayBCbHVlXCIsXHJcbiAgICBib3RTdGF0ZTogXCJDVFwiLFxyXG4gICAgc2hvd0NvbGxlY3RVc2VyRGV0YWlsRm9ybTogdHJ1ZSxcclxuICAgIHNob3dEaXNjbGFpbWVyUG9wVXA6IHRydWUsXHJcbiAgICBzaG93Q2hhdEJ1YmJsZUF0Q2xvc2VkOiBmYWxzZSxcclxuICAgIGJvdEljb25JbWFnZU5hbWU6IFwiY2hhdGJvdGljb24ucG5nXCIsXHJcbiAgICBib3RBdmF0YXJJbWFnZU5hbWU6IFwiY2hhdGJvdGljb24ucG5nXCIsXHJcbiAgICBmb3JtQmFubmVyUGF0aDogXCJcIixcclxuICAgIHJvb3RGaWxlUGF0aDogXCJVSS9cIixcclxuICAgIHN1cHBvcnRlZExhbmd1YWdlczogW1wiZW5cIiwgXCJlc1wiXSxcclxuICAgIGluaXRpYWxMYW5ndWFnZTogXCJlblwiLFxyXG4gICAgZGlzY2xhaW1lclBvcHVwOiB7XHJcbiAgICAgIGhlYWRlcjogXCJJbXBvcnRhbnQgbWVzc2FnZVwiLFxyXG4gICAgICBtZXNzYWdlOiBgVGhlIENURE9MIHZpcnR1YWwgYXNzaXN0YW50IHdpbGwgbmVlZCB0byBhc2sgZm9yIHNwZWNpZmljIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uIHRoYXQgaXMgbmVlZGVkIHRvIGFuc3dlciB5b3VyIHF1ZXN0aW9uKHMpIHN1Y2ggYXMgZGF0ZSBvZiBiaXJ0aCBvciBTb2NpYWwgU2VjdXJpdHkgbnVtYmVyLiBUaGUgYWdlbmN5IGZvbGxvd3Mgc3RyaWN0IGZlZGVyYWwgc2VjdXJpdHkgZ3VpZGVsaW5lcyB0byBwcm90ZWN0IHlvdXIgc2Vuc2l0aXZlIGluZm9ybWF0aW9uLiBUbyBmdXJ0aGVyIHByb3RlY3QgeW91ciBpbmZvcm1hdGlvbiwgaWYgeW91IGFyZSBvbiBhIHB1YmxpYyBjb21wdXRlciwgcGxlYXNlIGxvZyBvdXQgYW5kIGNsb3NlIHlvdXIgYnJvd3NlciB3aGVuIHlvdSBhcmUgZmluaXNoZWQuYFxyXG4gICAgfSxcclxuICAgIGhlYWRlckNvbmZpZzoge1xyXG4gICAgICBzaG93TGFuZ3VhZ2VUb2dnbGU6IHRydWUsXHJcbiAgICAgIHNob3dNaW5pbWl6ZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgc2hvd0V4cGFuZEJ1dHRvbjogZmFsc2UsXHJcbiAgICAgIHNob3dSZWxvYWRCdXR0b246IHRydWUsXHJcbiAgICB9XHJcbiAgfVxyXG4gIHB1YmxpYyBib3RPcHRpb25zOiBhbnkgPSB7fTtcclxuICBwdWJsaWMga29yZUJvdDogYW55ID0ge307XHJcbiAgaW5pdENoYXRib3Q6IEJlaGF2aW9yU3ViamVjdDxCb29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcclxuICBwdWJsaWMgc2hvd0NoYXRib3Q6IGJvb2xlYW4gPSAoTGliQ29uc3RhbnRzLmVuYWJsZUNoYXRib3QgPT0gJ3RydWUnKTtcclxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLCBwcml2YXRlIGxzOiBMb2dpblNlcnZpY2UsIHByaXZhdGUgdXRpbDogVXRpbFNlcnZpY2UpIHtcclxuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdDaGF0Ym90U2VydmljZSBpbml0aWFsaXp6ZWQgc3VjY2Vzc2Z1bGx5LicpO1xyXG5cclxuICAgIHRoaXMubWFwLnNldChcIm1zXCIsIHRoaXMubXNDdXN0b21EYXRhKTtcclxuICAgIHRoaXMubWFwLnNldChcIm1lXCIsIHRoaXMubWVDdXN0b21EYXRhKTtcclxuICAgIHRoaXMubWFwLnNldChcImN0XCIsIHRoaXMuY3RDdXN0b21EYXRhKTtcclxuICAgIHRoaXMuZ2V0Q2hhdGJvdEJzKCkuc3Vic2NyaWJlKHZhbCA9PiB7XHJcbiAgICAgIGlmICh2YWwpIHtcclxuICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKCdJbml0aWFsaXppbmcgQ2hhdGJvdC4nKTtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVDaGF0Ym90KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2hhdGJvdEJzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaW5pdENoYXRib3Q7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplKCkge1xyXG4gICAgdGhpcy5pbml0Q2hhdGJvdC5uZXh0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgbG9hZFNjcmlwQW5kU3R5bGUoKSB7XHJcbiAgICBpZiAoIUxpYkNvbnN0YW50cy5wcm9kdWN0aW9uICYmIHRoaXMuc2hvd0NoYXRib3QpIHsgLy9zZXQgdGhpcyBwcm9wZXJ0eSB0byB0cnVlIGlmIHlvdSB3YW50IHRvIHRlc3QgdGhpcyBpbiBsb2NhbCBlbnYuXHJcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ05vdCBMb2FkaW5nIENoYXRib3QgYXMgY3VycmVudCBlbnZpcm9ubWVudCBpcyBub3QgcHJvZHVjdGlvbi4gU2V0IFwicHJvZHVjdGlvbj10cnVlXCIgYW5kIFwic2hvd0NoYXRib3Q9dHJ1ZVwiIGlmIHlvdSB3YW50IHRvIHRlc3QgY2hhdGJvdCBpbiBsb2NhbCBlbnYuJyk7XHJcbiAgICAgIHJldHVybjs7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKCdMb2FkaW5nIGNoYXRib3QgLi4uJyk7XHJcbiAgICB9XHJcblxyXG4gICAgU2NyaXB0Q29uc3RhbnQuaW1wb3J0VXJscy5mb3JFYWNoKHNjcmlwdEVsZW1lbnQgPT4ge1xyXG4gICAgICAvLyBvdGhlciB0aGFuIGpzIGFuZCBzdHlsZXNoZWV0IGFyZSBpZ25vcmVkXHJcbiAgICAgIGlmIChzY3JpcHRFbGVtZW50LnR5cGUgPT09IFNjcmlwdENvbnN0YW50LmpzUHJvcGVydHkpIHtcclxuICAgICAgICBjb25zdCBqc1NjcmlwdE5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgICAgICAvLy8vIGpzU2NyaXB0Tm9kZS5zcmMgPSBlbnZpcm9ubWVudC5rb3JlQWlXZWJTZGtVcmwgKyBzY3JpcHRFbGVtZW50LnVybDtcclxuICAgICAgICBqc1NjcmlwdE5vZGUuc3JjID0gTGliQ29uc3RhbnRzLmtvcmVBaVdlYlNka1VybCArIHNjcmlwdEVsZW1lbnQudXJsO1xyXG5cclxuICAgICAgICBqc1NjcmlwdE5vZGUudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xyXG5cclxuICAgICAgICBpZiAoc2NyaXB0RWxlbWVudC5hc3luYyA9PSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKGpzU2NyaXB0Tm9kZS5zcmMgKyBcIiB3aWxsIGJlIGxvYWRlZCBhcyBhc3luYyBiZWNhdXNlIG9mIG51bGwgYXN5bmMgdmFsdWVcIik7XHJcbiAgICAgICAgICBqc1NjcmlwdE5vZGUuYXN5bmMgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoc2NyaXB0RWxlbWVudC5hc3luYyA9PSB0cnVlKSB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKHNjcmlwdEVsZW1lbnQudXJsICsgXCIgd2lsbCBiZSBsb2FkZWQgYXMgYXN5bmMgYmVjYXVzZSBvZiBudWxsIGFzeW5jIHRydWVcIik7XHJcblxyXG4gICAgICAgICAganNTY3JpcHROb2RlLmFzeW5jID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKHNjcmlwdEVsZW1lbnQudXJsICsgXCIgd2lsbCBiZSBsb2FkZWQgYXMgYXN5bmM9ZmFsc2VcIik7XHJcblxyXG4gICAgICAgICAganNTY3JpcHROb2RlLmFzeW5jID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXSwganNTY3JpcHROb2RlKTtcclxuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKGpzU2NyaXB0Tm9kZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoc2NyaXB0RWxlbWVudC50eXBlID09PSBTY3JpcHRDb25zdGFudC5jc3NQcm9wZXJ0eSkge1xyXG4gICAgICAgIGNvbnN0IHN0eWxlTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcclxuICAgICAgICBzdHlsZU5vZGUucmVsID0gJ3N0eWxlc2hlZXQnO1xyXG4gICAgICAgIHN0eWxlTm9kZS5ocmVmID0gTGliQ29uc3RhbnRzLmtvcmVBaVdlYlNka1VybCArIHNjcmlwdEVsZW1lbnQudXJsO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXSwgc3R5bGVOb2RlKTtcclxuICAgICAgfSBlbHNlIGlmIChzY3JpcHRFbGVtZW50LnR5cGUgPT09IFNjcmlwdENvbnN0YW50LmNzc1Byb3BlcnR5QWJzb2x1dGUpIHtcclxuICAgICAgICBjb25zdCBzdHlsZU5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICAgICAgc3R5bGVOb2RlLnJlbCA9ICdzdHlsZXNoZWV0JztcclxuICAgICAgICBzdHlsZU5vZGUuaHJlZiA9IHNjcmlwdEVsZW1lbnQudXJsO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXSwgc3R5bGVOb2RlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcigndXJsICcgKyBzY3JpcHRFbGVtZW50LnVybCArICcgaXMgbm90IGdvaW5nIHRvIGJlIGxvYWRlZCBiZWNhdXNlIG9mIGludmFsaWQgdHlwZSAnICsgc2NyaXB0RWxlbWVudC50eXBlKTtcclxuICAgICAgfVxyXG4gICAgfSk7IC8vIGZvciBlYWNoXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHB1YmxpYyBpbml0aWFsaXplQ2hhdGJvdCgpIHtcclxuICAgIHRoaXMub3BlbmJvdCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqKlxyXG4gICAqIFxyXG4gICAqIEBkZXNjcmlwdGlvbiBJbml0aWFsaXplIHRoZSBjaGF0Ym90IHdpdGggbG9nZ2VkLWluIHVzZXIuIElmIHVzZXIgaXMgbm90IGxvZ2dlZC1pbiB0aGVuIGJvdCBzZXNzaW9uIHdpbGwgYmUgY3JlYXRlZCB1c2luZyB1bmlxdWUgdGltZXN0YW1wLlxyXG4gICAqL1xyXG4gIG9wZW5ib3QoKSB7XHJcbiAgICBsZXQgdXNlcklkID0gbnVsbDtcclxuICAgIGlmICh0aGlzLmxzLmdldFVzZXIoKSkge1xyXG4gICAgICB1c2VySWQgPSB0aGlzLmxzLmdldFVzZXIoKS51c2VybmFtZSArICdfJyArIHRoaXMubHMuZ2V0VXNlcigpLnVzZXJUeXBlO1xyXG4gICAgICB0aGlzLmJvdE9wdGlvbnMuYWNjZXNzVG9rZW4gPSB0aGlzLmxzLmdldFVzZXIoKS5hY2Nlc3NfdG9rZW47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB1c2VySWQgPSBNYXRoLmZsb29yKChNYXRoLnJhbmRvbSgpICogMTAwMDAwMDApICsgMSkgKyBcIl9cIiArIG5ldyBEYXRlKCkuZ2V0TWlsbGlzZWNvbmRzKCkgKyBcIkBtZGVzLm1zLmdvdlwiO1xyXG4gICAgfVxyXG4gICAgLy8qKipDT0RFX1NUQVJUXHJcbiAgICB0aGlzLmJvdE9wdGlvbnMubG9nTGV2ZWwgPSAnZGVidWcnO1xyXG4gICAgdGhpcy5ib3RPcHRpb25zLmtvcmVBUElVcmwgPSBMaWJDb25zdGFudHMua29yZUFpQ2hhdGJvdFNlcnZlcjtcclxuICAgIC8vYm90T3B0aW9ucy5rb3JlU3BlZWNoQVBJVXJsID0gXCJodHRwczovL3NwZWVjaC5rb3JlLmFpL1wiO1xyXG4gICAgLy9ib3RPcHRpb25zLmJlYXJlciA9IFwiYmVhcmVyIHh5ei0tLS0tLS0tLS0tLS0tLS0tLS1cIjtcclxuICAgIC8vYm90T3B0aW9ucy50dHNTb2NrZXRVcmwgPSAnd3NzOi8vc3BlZWNoLmtvcmUuYWkvdHRzL3dzJztcclxuICAgIHRoaXMuYm90T3B0aW9ucy5yZWNvcmRlcldvcmtlclBhdGggPSAnLi9saWJzL3JlY29yZGVyV29ya2VyLmpzJztcclxuICAgIHRoaXMuYm90T3B0aW9ucy5hc3NlcnRpb25GbiA9IChvcHRpb25zLCBjYWxsYmFjaykgPT4gdGhpcy5hc3NlcnRpb24ob3B0aW9ucywgY2FsbGJhY2spO1xyXG4gICAgLy9ib3RPcHRpb25zLmtvcmVBbm9ueW1vdXNGbiA9IGtvcmVBbm9ueW1vdXNGbjtcclxuXHJcbiAgICB0aGlzLmJvdE9wdGlvbnMuSldUVXJsID0gTGliQ29uc3RhbnRzLmtvcmVBaUp3dFNlcnZpY2U7XHJcbiAgICBcclxuICAgIHRoaXMuYm90T3B0aW9ucy51c2VySWRlbnRpdHkgPSB1c2VySWQ7Ly8gUHJvdmlkZSB1c2VycyBlbWFpbCBpZCBoZXJlXHJcbiAgICB0aGlzLmJvdE9wdGlvbnMuYm90SW5mbyA9IHtcclxuICAgICAgbmFtZTogTGliQ29uc3RhbnRzLmtvcmVBaUJvdE5hbWUsXHJcbiAgICAgIFwiX2lkXCI6IExpYkNvbnN0YW50cy5rb3JlQWlCb3RJZCxcclxuICAgICAgY3VzdG9tRGF0YSA6IHRoaXMubWFwLmdldCh0aGlzLnV0aWwuZ2V0U3RhdGVMb3dlcmNhc2UoKSkgPyB0aGlzLm1hcC5nZXQodGhpcy51dGlsLmdldFN0YXRlTG93ZXJjYXNlKCkpIDogdGhpcy5tYXAuZ2V0KCdtcycpLFxyXG4gICAgICAvLyBjdXN0b21EYXRhOiB7IGNvbm5lY3RpbmdNZXNzYWdlOiBcIldlbGNvbWUgdG8gUmVFbXBsb3lNRS4gSSBhbSB5b3VyIHZpcnR1YWwgYXNzaXN0YW50IHRvIGhlbHAgeW91IHdpdGggTUUgcmVsYXRlZCBxdWVyaWVzLlwiLCBob3Zlck1lc3NhZ2U6IFwiQXNrIEJsdWVcIiwgYm90U3RhdGU6IFwiTUVcIiwgc2hvd0NvbGxlY3RVc2VyRGV0YWlsRm9ybTogZmFsc2UsIHNob3dEaXNjbGFpbWVyUG9wVXA6IHRydWUsIGJvdEljb25JbWFnZU5hbWU6IFwiY2hhdGJvdGljb24ucG5nXCIsIGJvdEF2YXRhckltYWdlTmFtZTogXCJjaGF0Ym90aWNvbi5wbmdcIiwgcm9vdEZpbGVQYXRoOiBcIlVJL1wiLCBzdXBwb3J0ZWRMYW5ndWFnZXM6IFtcImVuXCIsIFwiZXNcIl0sIGluaXRpYWxMYW5ndWFnZTogXCJlblwiLCBkaXNjbGFpbWVyUG9wdXA6IHsgaGVhZGVyOiBcIkltcG9ydGFudCBNZXNzYWdlXCIsIG1lc3NhZ2U6IGBUaGUgdmlydHVhbCBhc3Npc3RhbnQgd2lsbCBuZWVkIHRvIGFzayBmb3Igc3BlY2lmaWMgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24gdGhhdCBpcyBuZWVkZWQgdG8gYW5zd2VyIHlvdSBxdWVzdGlvbihzKSBzdWNoIGFzIGRhdGUgb2YgYmlydGggb3IgU29jaWFsIFNlY3VyaXR5IG51bWJlci4gVGhlIGFnZW5jeSBmb2xsb3dzIHN0cmljdCBmZWRlcmFsIHNlY3VyaXR5IGd1aWRlbGluZXMgdG8gcHJvdGVjdCB5b3VyIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbi4gVG8gZnVydGhlciBwcm90ZWN0IHlvdXIgaW5mb3JtYXRpb24sIGlmIHlvdSBhcmUgb24gYSBwdWJsaWMgY29tcHV0ZXIsIHBsZWFzZSBsb2cgb3V0IGFuZCBjbG9zZSB5b3VyIGJyb3dzZXIgd2hlbiB5b3UgYXJlIGZpbmlzaGVkLmAsIH0sIGhlYWRlckNvbmZpZzogeyBzaG93TGFuZ3VhZ2VUb2dnbGU6IHRydWUsIHNob3dNaW5pbWl6ZUJ1dHRvbjogdHJ1ZSwgc2hvd0V4cGFuZGJ1dHRvbjogZmFsc2UsIHNob3dSZWxvYWRCdXR0b246IHRydWUsIH0gfVxyXG4gICAgfTsgLy8gYm90IG5hbWUgaXMgY2FzZSBzZW5zaXRpdmVcclxuICAgIHRoaXMuYm90T3B0aW9ucy5jbGllbnRJZCA9IExpYkNvbnN0YW50cy5rb3JlQWlDbGllbnRJZDtcclxuICAgIC8vdGhpcy5ib3RPcHRpb25zLmNsaWVudFNlY3JldCA9IExpYkNvbnN0YW50cy5rb3JlQWlDbGllbnRTZWNyZXQ7XHJcblxyXG4gICAgLy90aGlzLmJvdE9wdGlvbnMucmVlbXBsb3lVc0JlYXJlclRva2VuPSBcIlwiOyAgXHJcbiAgICAvLyB3aWxsIG5lZWQgdG8gcGFzcyB0b2tlbiB0byBrb3JlQWlDaGF0Qm90U2VydmVyIHdoZW4gYXV0aGVudGljYXRpb24gbmVlZHMgdG8gYmUgdmFsaWRhdGVkIGZvciBzZXJ2ZXIgc2lkZSBhcGkgY2FsbFxyXG5cclxuICAgIHZhciBjaGF0Q29uZmlnID0ge1xyXG4gICAgICBib3RPcHRpb25zOiB0aGlzLmJvdE9wdGlvbnMsXHJcbiAgICAgIGFsbG93SWZyYW1lOiBmYWxzZSxcclxuICAgICAgaXNTZW5kQnV0dG9uOiB0cnVlLFxyXG4gICAgICBpc1RUU0VuYWJsZWQ6IGZhbHNlLFxyXG4gICAgICBpc1NwZWVjaEVuYWJsZWQ6IGZhbHNlLFxyXG4gICAgICBhbGxvd0dvb2dsZVNwZWVjaDogZmFsc2UsXHJcbiAgICAgIGFsbG93TG9jYXRpb246IGZhbHNlLFxyXG4gICAgICBsb2FkSGlzdG9yeTogZmFsc2UsXHJcbiAgICAgIG1lc3NhZ2VIaXN0b3J5TGltaXQ6IDEwLFxyXG4gICAgICBhdXRvRW5hYmxlU3BlZWNoQW5kVFRTOiBmYWxzZSxcclxuICAgICAgZ3JhcGhMaWI6IFwiZDNcIlxyXG4gICAgfTtcclxuICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmtvcmVCb3QpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmtvcmVCb3QgPSBrb3JlQm90Q2hhdCgpO1xyXG4gICAgICB0aGlzLmtvcmVCb3Quc2hvdyhjaGF0Q29uZmlnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMua29yZUJvdC5yZXN1bWVDaGF0V2luZG93KClcclxuICAgIH1cclxuICAgIC8vKioqQ09ERV9FTkRcclxuXHJcbiAgfVxyXG5cclxuICBhc3NlcnRpb24ob3B0aW9ucywgY2FsbGJhY2spIHtcclxuICAgIHZhciBqc29uRGF0YSA9IHtcclxuICAgICAgXCJjbGllbnRJZFwiOiB0aGlzLmJvdE9wdGlvbnMuY2xpZW50SWQsXHJcbiAgICAgIFwiY2xpZW50U2VjcmV0XCI6IHRoaXMuYm90T3B0aW9ucy5jbGllbnRTZWNyZXQsXHJcbiAgICAgIFwiaWRlbnRpdHlcIjogb3B0aW9ucy51c2VySWRlbnRpdHkgfHwgdGhpcy5ib3RPcHRpb25zLnVzZXJJZGVudGl0eSxcclxuICAgICAgXCJhdWRcIjogXCJcIixcclxuICAgICAgXCJpc0Fub255bW91c1wiOiAodGhpcy5scy5nZXRVc2VyKCkgPT0gbnVsbCksXHJcbiAgICAgIFwiYWNjZXNzVG9rZW5cIjogdGhpcy5ib3RPcHRpb25zLmFjY2Vzc1Rva2VuXHJcbiAgICB9O1xyXG4gICAgJC5hamF4KHtcclxuICAgICAgdXJsOiB0aGlzLmJvdE9wdGlvbnMuSldUVXJsLFxyXG4gICAgICB0eXBlOiAncG9zdCcsXHJcbiAgICAgIGRhdGE6IGpzb25EYXRhLFxyXG4gICAgICBkYXRhVHlwZTogJ2pzb24nLFxyXG4gICAgICBzdWNjZXNzOiAoZGF0YSkgPT4ge1xyXG4gICAgICAgIG9wdGlvbnMuYXNzZXJ0aW9uID0gZGF0YS5qd3Q7XHJcbiAgICAgICAgb3B0aW9ucy5oYW5kbGVFcnJvciA9IHRoaXMua29yZUJvdC5zaG93RXJyb3I7XHJcbiAgICAgICAgb3B0aW9ucy5jaGF0SGlzdG9yeSA9IHRoaXMua29yZUJvdC5jaGF0SGlzdG9yeTtcclxuICAgICAgICBvcHRpb25zLmJvdERldGFpbHMgPSB0aGlzLmtvcmVCb3QuYm90RGV0YWlscztcclxuICAgICAgICBjYWxsYmFjayhudWxsLCBvcHRpb25zKTtcclxuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgIGlmICh0aGlzLmtvcmVCb3QgJiYgdGhpcy5rb3JlQm90LmluaXRUb2tlbikge1xyXG4gICAgICAgICAgICB0aGlzLmtvcmVCb3QuaW5pdFRva2VuKG9wdGlvbnMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sIDIwMDApO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMua29yZUJvdC5zaG93RXJyb3IoZXJyLnJlc3BvbnNlVGV4dCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,42 +0,0 @@
1
- export class ScriptConstant {
2
- static { this.cssProperty = 'css'; }
3
- static { this.cssPropertyAbsolute = 'cssAbsolute'; }
4
- static { this.jsProperty = 'js'; }
5
- static { this.donotLoad = 'donot-load'; }
6
- static { this.importUrls = [
7
- { type: ScriptConstant.jsProperty, url: '/UI/libs/kore-no-conflict-start.js', async: false },
8
- { type: ScriptConstant.jsProperty, url: '/UI/libs/jquery.js', async: false },
9
- { type: ScriptConstant.jsProperty, url: '/UI/libs/jquery.tmpl.min.js', async: false },
10
- { type: ScriptConstant.jsProperty, url: '/UI/libs/jquery-ui.min.js', async: false },
11
- { type: ScriptConstant.jsProperty, url: '/UI/libs/moment.js' },
12
- { type: ScriptConstant.jsProperty, url: '/libs/ie11CustomProperties.js' },
13
- { type: ScriptConstant.jsProperty, url: '/libs/lodash.min.js' },
14
- { type: ScriptConstant.jsProperty, url: '/libs/d3.v4.min.js' },
15
- { type: ScriptConstant.jsProperty, url: '/libs/KoreGraphAdapter.js' },
16
- { type: ScriptConstant.jsProperty, url: '/libs/anonymousassertion.js' },
17
- { type: ScriptConstant.jsProperty, url: '/kore-bot-sdk-client.js' },
18
- { type: ScriptConstant.jsProperty, url: '/UI/chatWindow.js' },
19
- { type: ScriptConstant.jsProperty, url: '/UI/libs/jquery.daterangepicker.js' },
20
- { type: ScriptConstant.jsProperty, url: '/UI/libs/jquery-clockpicker.js' },
21
- { type: ScriptConstant.donotLoad, url: '/libs/kore-pickers.js' },
22
- { type: ScriptConstant.jsProperty, url: '/libs/emoji.js' },
23
- { type: ScriptConstant.jsProperty, url: '/libs/recorder.js' },
24
- { type: ScriptConstant.jsProperty, url: '/libs/recorderWorker.js' },
25
- { type: ScriptConstant.jsProperty, url: '/libs/purejscarousel.js' },
26
- { type: ScriptConstant.jsProperty, url: '/UI/custom/customTemplate.js' },
27
- { type: ScriptConstant.donotLoad, url: '/UI/kore-config.js' },
28
- { type: ScriptConstant.donotLoad, url: '/UI/kore-main.js' },
29
- { type: ScriptConstant.jsProperty, url: '/UI/libs/kore-no-conflict-end.js', async: false },
30
- { type: ScriptConstant.donotLoad, url: '/UI/libs/jquery-ui.min.css' },
31
- { type: ScriptConstant.cssProperty, url: '/UI/libs/daterangepicker.css' },
32
- { type: ScriptConstant.donotLoad, url: '/UI/libs/jquery-clockpicker.css' },
33
- { type: ScriptConstant.cssProperty, url: '/libs/kore-pickers.css' },
34
- { type: ScriptConstant.cssProperty, url: '/libs/emojione.sprites.css' },
35
- { type: ScriptConstant.cssProperty, url: '/UI/custom/customTemplate.css' },
36
- { type: ScriptConstant.cssPropertyAbsolute, url: 'https://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css' },
37
- { type: ScriptConstant.cssPropertyAbsolute, url: 'https://fonts.googleapis.com/icon?family=Material+Icons' },
38
- { type: ScriptConstant.cssProperty, url: '/libs/purejscarousel.css' },
39
- { type: ScriptConstant.cssProperty, url: '/UI/chatWindow.css' }
40
- ]; }
41
- }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9jaGF0Ym90L3NjcmlwdC5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sY0FBYzthQUNBLGdCQUFXLEdBQUcsS0FBSyxDQUFDO2FBQ3BCLHdCQUFtQixHQUFHLGFBQWEsQ0FBQzthQUN2QyxlQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ2xCLGNBQVMsR0FBRyxZQUFZLENBQUM7YUFFbEMsZUFBVSxHQUFHO1FBQzFCLEVBQUksSUFBSSxFQUFFLGNBQWMsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLG9DQUFvQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDOUYsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtRQUM5RSxFQUFJLElBQUksRUFBRSxjQUFjLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSw2QkFBNkIsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1FBQ3ZGLEVBQUksSUFBSSxFQUFFLGNBQWMsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLDJCQUEyQixFQUFHLEtBQUssRUFBRSxLQUFLLEVBQUM7UUFDckYsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUU7UUFDaEUsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsK0JBQStCLEVBQUU7UUFDM0UsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUscUJBQXFCLEVBQUU7UUFDakUsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUU7UUFDaEUsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsMkJBQTJCLEVBQUU7UUFDdkUsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsNkJBQTZCLEVBQUU7UUFDekUsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUseUJBQXlCLEVBQUU7UUFDckUsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsbUJBQW1CLEVBQUU7UUFDL0QsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsb0NBQW9DLEVBQUU7UUFDaEYsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsZ0NBQWdDLEVBQUU7UUFDNUUsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVMsRUFBRyxHQUFHLEVBQUUsdUJBQXVCLEVBQUU7UUFDbkUsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUU7UUFDNUQsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsbUJBQW1CLEVBQUU7UUFDL0QsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUseUJBQXlCLEVBQUU7UUFDckUsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUseUJBQXlCLEVBQUU7UUFDckUsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsOEJBQThCLEVBQUU7UUFDMUUsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUU7UUFDL0QsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsa0JBQWtCLEVBQUU7UUFDN0QsRUFBSSxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsa0NBQWtDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRztRQUU3RixFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSw0QkFBNEIsRUFBRTtRQUNyRSxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSw4QkFBOEIsRUFBRTtRQUN6RSxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxpQ0FBaUMsRUFBRTtRQUMxRSxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSx3QkFBd0IsRUFBRTtRQUNuRSxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSw0QkFBNEIsRUFBRTtRQUN2RSxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSwrQkFBK0IsRUFBRTtRQUMxRSxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLHlFQUF5RSxFQUFFO1FBQzVILEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUUseURBQXlELEVBQUU7UUFFNUcsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsMEJBQTBCLEVBQUU7UUFDckUsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUM7S0FDOUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBTY3JpcHRDb25zdGFudCB7XHJcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGNzc1Byb3BlcnR5ID0gJ2Nzcyc7XHJcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGNzc1Byb3BlcnR5QWJzb2x1dGUgPSAnY3NzQWJzb2x1dGUnO1xyXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkganNQcm9wZXJ0eSA9ICdqcyc7XHJcblx0cHVibGljIHN0YXRpYyByZWFkb25seSBkb25vdExvYWQgPSAnZG9ub3QtbG9hZCc7XHJcblxyXG5cdHB1YmxpYyBzdGF0aWMgaW1wb3J0VXJscyA9IFtcclxuXHRcdHsgICB0eXBlOiBTY3JpcHRDb25zdGFudC5qc1Byb3BlcnR5LCB1cmw6ICcvVUkvbGlicy9rb3JlLW5vLWNvbmZsaWN0LXN0YXJ0LmpzJywgYXN5bmM6IGZhbHNlIH0sXHJcblx0XHR7ICAgdHlwZTogU2NyaXB0Q29uc3RhbnQuanNQcm9wZXJ0eSwgdXJsOiAnL1VJL2xpYnMvanF1ZXJ5LmpzJywgYXN5bmM6IGZhbHNlIH0sXHJcblx0XHR7ICAgdHlwZTogU2NyaXB0Q29uc3RhbnQuanNQcm9wZXJ0eSwgdXJsOiAnL1VJL2xpYnMvanF1ZXJ5LnRtcGwubWluLmpzJywgYXN5bmM6IGZhbHNlIH0sXHJcblx0XHR7ICAgdHlwZTogU2NyaXB0Q29uc3RhbnQuanNQcm9wZXJ0eSwgdXJsOiAnL1VJL2xpYnMvanF1ZXJ5LXVpLm1pbi5qcycgLCBhc3luYzogZmFsc2V9LFxyXG5cdFx0eyAgIHR5cGU6IFNjcmlwdENvbnN0YW50LmpzUHJvcGVydHksIHVybDogJy9VSS9saWJzL21vbWVudC5qcycgfSxcclxuXHRcdHsgICB0eXBlOiBTY3JpcHRDb25zdGFudC5qc1Byb3BlcnR5LCB1cmw6ICcvbGlicy9pZTExQ3VzdG9tUHJvcGVydGllcy5qcycgfSxcclxuXHRcdHsgICB0eXBlOiBTY3JpcHRDb25zdGFudC5qc1Byb3BlcnR5LCB1cmw6ICcvbGlicy9sb2Rhc2gubWluLmpzJyB9LFxyXG5cdFx0eyAgIHR5cGU6IFNjcmlwdENvbnN0YW50LmpzUHJvcGVydHksIHVybDogJy9saWJzL2QzLnY0Lm1pbi5qcycgfSxcclxuXHRcdHsgICB0eXBlOiBTY3JpcHRDb25zdGFudC5qc1Byb3BlcnR5LCB1cmw6ICcvbGlicy9Lb3JlR3JhcGhBZGFwdGVyLmpzJyB9LFxyXG5cdFx0eyAgIHR5cGU6IFNjcmlwdENvbnN0YW50LmpzUHJvcGVydHksIHVybDogJy9saWJzL2Fub255bW91c2Fzc2VydGlvbi5qcycgfSxcclxuXHRcdHsgICB0eXBlOiBTY3JpcHRDb25zdGFudC5qc1Byb3BlcnR5LCB1cmw6ICcva29yZS1ib3Qtc2RrLWNsaWVudC5qcycgfSxcclxuXHRcdHsgICB0eXBlOiBTY3JpcHRDb25zdGFudC5qc1Byb3BlcnR5LCB1cmw6ICcvVUkvY2hhdFdpbmRvdy5qcycgfSxcclxuXHRcdHsgICB0eXBlOiBTY3JpcHRDb25zdGFudC5qc1Byb3BlcnR5LCB1cmw6ICcvVUkvbGlicy9qcXVlcnkuZGF0ZXJhbmdlcGlja2VyLmpzJyB9LFxyXG5cdFx0eyAgIHR5cGU6IFNjcmlwdENvbnN0YW50LmpzUHJvcGVydHksIHVybDogJy9VSS9saWJzL2pxdWVyeS1jbG9ja3BpY2tlci5qcycgfSxcclxuXHRcdHsgICB0eXBlOiBTY3JpcHRDb25zdGFudC5kb25vdExvYWQgLCB1cmw6ICcvbGlicy9rb3JlLXBpY2tlcnMuanMnIH0sXHJcblx0XHR7ICAgdHlwZTogU2NyaXB0Q29uc3RhbnQuanNQcm9wZXJ0eSwgdXJsOiAnL2xpYnMvZW1vamkuanMnIH0sXHJcblx0XHR7ICAgdHlwZTogU2NyaXB0Q29uc3RhbnQuanNQcm9wZXJ0eSwgdXJsOiAnL2xpYnMvcmVjb3JkZXIuanMnIH0sXHJcblx0XHR7ICAgdHlwZTogU2NyaXB0Q29uc3RhbnQuanNQcm9wZXJ0eSwgdXJsOiAnL2xpYnMvcmVjb3JkZXJXb3JrZXIuanMnIH0sXHJcblx0XHR7ICAgdHlwZTogU2NyaXB0Q29uc3RhbnQuanNQcm9wZXJ0eSwgdXJsOiAnL2xpYnMvcHVyZWpzY2Fyb3VzZWwuanMnIH0sXHJcblx0XHR7ICAgdHlwZTogU2NyaXB0Q29uc3RhbnQuanNQcm9wZXJ0eSwgdXJsOiAnL1VJL2N1c3RvbS9jdXN0b21UZW1wbGF0ZS5qcycgfSxcclxuXHRcdHsgICB0eXBlOiBTY3JpcHRDb25zdGFudC5kb25vdExvYWQsIHVybDogJy9VSS9rb3JlLWNvbmZpZy5qcycgfSxcclxuXHRcdHsgICB0eXBlOiBTY3JpcHRDb25zdGFudC5kb25vdExvYWQsIHVybDogJy9VSS9rb3JlLW1haW4uanMnIH0sXHJcblx0XHR7ICAgdHlwZTogU2NyaXB0Q29uc3RhbnQuanNQcm9wZXJ0eSwgdXJsOiAnL1VJL2xpYnMva29yZS1uby1jb25mbGljdC1lbmQuanMnLCBhc3luYzogZmFsc2UgIH0sXHJcblxyXG5cdFx0eyB0eXBlOiBTY3JpcHRDb25zdGFudC5kb25vdExvYWQsIHVybDogJy9VSS9saWJzL2pxdWVyeS11aS5taW4uY3NzJyB9LCAgXHJcblx0XHR7IHR5cGU6IFNjcmlwdENvbnN0YW50LmNzc1Byb3BlcnR5LCB1cmw6ICcvVUkvbGlicy9kYXRlcmFuZ2VwaWNrZXIuY3NzJyB9LFxyXG5cdFx0eyB0eXBlOiBTY3JpcHRDb25zdGFudC5kb25vdExvYWQsIHVybDogJy9VSS9saWJzL2pxdWVyeS1jbG9ja3BpY2tlci5jc3MnIH0sXHJcblx0XHR7IHR5cGU6IFNjcmlwdENvbnN0YW50LmNzc1Byb3BlcnR5LCB1cmw6ICcvbGlicy9rb3JlLXBpY2tlcnMuY3NzJyB9LCBcclxuXHRcdHsgdHlwZTogU2NyaXB0Q29uc3RhbnQuY3NzUHJvcGVydHksIHVybDogJy9saWJzL2Vtb2ppb25lLnNwcml0ZXMuY3NzJyB9LFxyXG5cdFx0eyB0eXBlOiBTY3JpcHRDb25zdGFudC5jc3NQcm9wZXJ0eSwgdXJsOiAnL1VJL2N1c3RvbS9jdXN0b21UZW1wbGF0ZS5jc3MnIH0sXHJcblx0XHR7IHR5cGU6IFNjcmlwdENvbnN0YW50LmNzc1Byb3BlcnR5QWJzb2x1dGUsIHVybDogJ2h0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzMuMi4xL2Nzcy9mb250LWF3ZXNvbWUuY3NzJyB9LFxyXG5cdFx0eyB0eXBlOiBTY3JpcHRDb25zdGFudC5jc3NQcm9wZXJ0eUFic29sdXRlLCB1cmw6ICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2ljb24/ZmFtaWx5PU1hdGVyaWFsK0ljb25zJyB9LFxyXG5cdFx0XHJcblx0XHR7IHR5cGU6IFNjcmlwdENvbnN0YW50LmNzc1Byb3BlcnR5LCB1cmw6ICcvbGlicy9wdXJlanNjYXJvdXNlbC5jc3MnIH0sIFxyXG5cdFx0eyB0eXBlOiBTY3JpcHRDb25zdGFudC5jc3NQcm9wZXJ0eSwgdXJsOiAnL1VJL2NoYXRXaW5kb3cuY3NzJ31cclxuXHRdO1xyXG5cclxufSJdfQ==
@@ -1,61 +0,0 @@
1
- import { RendererFactory2 } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { LoggerService } from '../logger/logger.service';
4
- import { LoginService } from '../login/login.service';
5
- import { UtilService } from '../util/util.service';
6
- import * as i0 from "@angular/core";
7
- interface DisclaimerPopup {
8
- header: string;
9
- message: string;
10
- }
11
- interface HeaderConfig {
12
- showLanguageToggle: boolean;
13
- showMinimizeButton: boolean;
14
- showExpandButton: boolean;
15
- showReloadButton: boolean;
16
- }
17
- interface CustomData {
18
- connectingMessage: string;
19
- hoverMessage: string;
20
- botState: string;
21
- showCollectUserDetailForm: boolean;
22
- showDisclaimerPopUp: boolean;
23
- showChatBubbleAtClosed: boolean;
24
- botAvatarImageName: string;
25
- botIconImageName: string;
26
- formBannerPath: string;
27
- rootFilePath: string;
28
- supportedLanguages: string[];
29
- initialLanguage: string;
30
- disclaimerPopup: DisclaimerPopup;
31
- headerConfig: HeaderConfig;
32
- }
33
- export declare class ChatbotService {
34
- private logger;
35
- private ls;
36
- private util;
37
- map: Map<string, CustomData>;
38
- msCustomData: CustomData;
39
- meCustomData: CustomData;
40
- ctCustomData: CustomData;
41
- botOptions: any;
42
- koreBot: any;
43
- initChatbot: BehaviorSubject<Boolean>;
44
- private renderer;
45
- showChatbot: boolean;
46
- constructor(rendererFactory: RendererFactory2, logger: LoggerService, ls: LoginService, util: UtilService);
47
- getChatbotBs(): BehaviorSubject<Boolean>;
48
- initialize(): void;
49
- loadScripAndStyle(): void;
50
- initializeChatbot(): void;
51
- /***
52
- *
53
- * @description Initialize the chatbot with logged-in user. If user is not logged-in then bot session will be created using unique timestamp.
54
- */
55
- openbot(): void;
56
- assertion(options: any, callback: any): void;
57
- static ɵfac: i0.ɵɵFactoryDeclaration<ChatbotService, never>;
58
- static ɵprov: i0.ɵɵInjectableDeclaration<ChatbotService>;
59
- }
60
- export {};
61
- //# sourceMappingURL=chatbot.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chatbot.service.d.ts","sourceRoot":"","sources":["../../../../../projects/ngx-reusa-app-lib/src/lib/services/chatbot/chatbot.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;;AAKnD,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AACD,UAAU,YAAY;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AACD,UAAU,UAAU;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB,EAAE,OAAO,CAAC;IACnC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,sBAAsB,EAAE,OAAO,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,qBAGa,cAAc;IAmFsB,OAAO,CAAC,MAAM;IAAiB,OAAO,CAAC,EAAE;IAAgB,OAAO,CAAC,IAAI;IAjFpH,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAa;IAEzC,YAAY,EAAE,UAAU,CAwBvB;IAED,YAAY,EAAE,UAAU,CAuBvB;IACD,YAAY,EAAE,UAAU,CAuBvB;IACM,UAAU,EAAE,GAAG,CAAM;IACrB,OAAO,EAAE,GAAG,CAAM;IACzB,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,CAA8B;IACnE,OAAO,CAAC,QAAQ,CAAY;IACrB,WAAW,EAAE,OAAO,CAA0C;gBACzD,eAAe,EAAE,gBAAgB,EAAU,MAAM,EAAE,aAAa,EAAU,EAAE,EAAE,YAAY,EAAU,IAAI,EAAE,WAAW;IAejI,YAAY;IAIZ,UAAU;IAIV,iBAAiB;IAmDV,iBAAiB;IAIxB;;;OAGG;IACH,OAAO;IAwDP,SAAS,CAAC,OAAO,KAAA,EAAE,QAAQ,KAAA;yCA7NhB,cAAc;6CAAd,cAAc;CA4P1B"}
@@ -1,16 +0,0 @@
1
- export declare class ScriptConstant {
2
- static readonly cssProperty = "css";
3
- static readonly cssPropertyAbsolute = "cssAbsolute";
4
- static readonly jsProperty = "js";
5
- static readonly donotLoad = "donot-load";
6
- static importUrls: ({
7
- type: string;
8
- url: string;
9
- async: boolean;
10
- } | {
11
- type: string;
12
- url: string;
13
- async?: undefined;
14
- })[];
15
- }
16
- //# sourceMappingURL=script.const.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"script.const.d.ts","sourceRoot":"","sources":["../../../../../projects/ngx-reusa-app-lib/src/lib/services/chatbot/script.const.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IACvB,gBAAuB,WAAW,SAAS;IAC3C,gBAAuB,mBAAmB,iBAAiB;IAC9D,gBAAuB,UAAU,QAAQ;IACzC,gBAAuB,SAAS,gBAAgB;IAEhD,OAAc,UAAU;;;;;;;;SAoCtB;CAEF"}