@exotel-npm-dev/exotel-ai-assist 1.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.
- package/LICENSE +201 -0
- package/README.md +294 -0
- package/controller.js +5 -0
- package/dist/components/EmptyState.d.ts +7 -0
- package/dist/components/ExotelAIAssistApp.d.ts +7 -0
- package/dist/components/ExotelAIAssistProvider.d.ts +12 -0
- package/dist/components/LoadingBox.d.ts +12 -0
- package/dist/components/Toast.d.ts +11 -0
- package/dist/components/key-components/Header.d.ts +5 -0
- package/dist/components/key-components/SuggestionTab.d.ts +7 -0
- package/dist/components/key-components/TranscriptTab.d.ts +7 -0
- package/dist/components/logos/NoInteraction.d.ts +1 -0
- package/dist/components/logos/Sparkle.d.ts +1 -0
- package/dist/controller/index.d.ts +25 -0
- package/dist/controller/index.js +1743 -0
- package/dist/hooks/useExotelAIAssist.d.ts +19 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +21867 -0
- package/dist/react/index.d.ts +8 -0
- package/dist/react/index.js +7173 -0
- package/dist/transport/index.d.ts +35 -0
- package/dist/types/index.d.ts +89 -0
- package/dist/utils/index.d.ts +39 -0
- package/package.json +97 -0
- package/react.js +5 -0
|
@@ -0,0 +1,1743 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function getDefaultExportFromCjs (x) {
|
|
4
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
var eventemitter3 = {exports: {}};
|
|
8
|
+
|
|
9
|
+
var hasRequiredEventemitter3;
|
|
10
|
+
function requireEventemitter3() {
|
|
11
|
+
if (hasRequiredEventemitter3) return eventemitter3.exports;
|
|
12
|
+
hasRequiredEventemitter3 = 1;
|
|
13
|
+
(function (module) {
|
|
14
|
+
|
|
15
|
+
var has = Object.prototype.hasOwnProperty,
|
|
16
|
+
prefix = '~';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Constructor to create a storage for our `EE` objects.
|
|
20
|
+
* An `Events` instance is a plain object whose properties are event names.
|
|
21
|
+
*
|
|
22
|
+
* @constructor
|
|
23
|
+
* @private
|
|
24
|
+
*/
|
|
25
|
+
function Events() {}
|
|
26
|
+
|
|
27
|
+
//
|
|
28
|
+
// We try to not inherit from `Object.prototype`. In some engines creating an
|
|
29
|
+
// instance in this way is faster than calling `Object.create(null)` directly.
|
|
30
|
+
// If `Object.create(null)` is not supported we prefix the event names with a
|
|
31
|
+
// character to make sure that the built-in object properties are not
|
|
32
|
+
// overridden or used as an attack vector.
|
|
33
|
+
//
|
|
34
|
+
if (Object.create) {
|
|
35
|
+
Events.prototype = Object.create(null);
|
|
36
|
+
|
|
37
|
+
//
|
|
38
|
+
// This hack is needed because the `__proto__` property is still inherited in
|
|
39
|
+
// some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.
|
|
40
|
+
//
|
|
41
|
+
if (!new Events().__proto__) prefix = false;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Representation of a single event listener.
|
|
46
|
+
*
|
|
47
|
+
* @param {Function} fn The listener function.
|
|
48
|
+
* @param {*} context The context to invoke the listener with.
|
|
49
|
+
* @param {Boolean} [once=false] Specify if the listener is a one-time listener.
|
|
50
|
+
* @constructor
|
|
51
|
+
* @private
|
|
52
|
+
*/
|
|
53
|
+
function EE(fn, context, once) {
|
|
54
|
+
this.fn = fn;
|
|
55
|
+
this.context = context;
|
|
56
|
+
this.once = once || false;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Add a listener for a given event.
|
|
61
|
+
*
|
|
62
|
+
* @param {EventEmitter} emitter Reference to the `EventEmitter` instance.
|
|
63
|
+
* @param {(String|Symbol)} event The event name.
|
|
64
|
+
* @param {Function} fn The listener function.
|
|
65
|
+
* @param {*} context The context to invoke the listener with.
|
|
66
|
+
* @param {Boolean} once Specify if the listener is a one-time listener.
|
|
67
|
+
* @returns {EventEmitter}
|
|
68
|
+
* @private
|
|
69
|
+
*/
|
|
70
|
+
function addListener(emitter, event, fn, context, once) {
|
|
71
|
+
if (typeof fn !== 'function') {
|
|
72
|
+
throw new TypeError('The listener must be a function');
|
|
73
|
+
}
|
|
74
|
+
var listener = new EE(fn, context || emitter, once),
|
|
75
|
+
evt = prefix ? prefix + event : event;
|
|
76
|
+
if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);else emitter._events[evt] = [emitter._events[evt], listener];
|
|
77
|
+
return emitter;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Clear event by name.
|
|
82
|
+
*
|
|
83
|
+
* @param {EventEmitter} emitter Reference to the `EventEmitter` instance.
|
|
84
|
+
* @param {(String|Symbol)} evt The Event name.
|
|
85
|
+
* @private
|
|
86
|
+
*/
|
|
87
|
+
function clearEvent(emitter, evt) {
|
|
88
|
+
if (--emitter._eventsCount === 0) emitter._events = new Events();else delete emitter._events[evt];
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Minimal `EventEmitter` interface that is molded against the Node.js
|
|
93
|
+
* `EventEmitter` interface.
|
|
94
|
+
*
|
|
95
|
+
* @constructor
|
|
96
|
+
* @public
|
|
97
|
+
*/
|
|
98
|
+
function EventEmitter() {
|
|
99
|
+
this._events = new Events();
|
|
100
|
+
this._eventsCount = 0;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Return an array listing the events for which the emitter has registered
|
|
105
|
+
* listeners.
|
|
106
|
+
*
|
|
107
|
+
* @returns {Array}
|
|
108
|
+
* @public
|
|
109
|
+
*/
|
|
110
|
+
EventEmitter.prototype.eventNames = function eventNames() {
|
|
111
|
+
var names = [],
|
|
112
|
+
events,
|
|
113
|
+
name;
|
|
114
|
+
if (this._eventsCount === 0) return names;
|
|
115
|
+
for (name in events = this._events) {
|
|
116
|
+
if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);
|
|
117
|
+
}
|
|
118
|
+
if (Object.getOwnPropertySymbols) {
|
|
119
|
+
return names.concat(Object.getOwnPropertySymbols(events));
|
|
120
|
+
}
|
|
121
|
+
return names;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Return the listeners registered for a given event.
|
|
126
|
+
*
|
|
127
|
+
* @param {(String|Symbol)} event The event name.
|
|
128
|
+
* @returns {Array} The registered listeners.
|
|
129
|
+
* @public
|
|
130
|
+
*/
|
|
131
|
+
EventEmitter.prototype.listeners = function listeners(event) {
|
|
132
|
+
var evt = prefix ? prefix + event : event,
|
|
133
|
+
handlers = this._events[evt];
|
|
134
|
+
if (!handlers) return [];
|
|
135
|
+
if (handlers.fn) return [handlers.fn];
|
|
136
|
+
for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {
|
|
137
|
+
ee[i] = handlers[i].fn;
|
|
138
|
+
}
|
|
139
|
+
return ee;
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Return the number of listeners listening to a given event.
|
|
144
|
+
*
|
|
145
|
+
* @param {(String|Symbol)} event The event name.
|
|
146
|
+
* @returns {Number} The number of listeners.
|
|
147
|
+
* @public
|
|
148
|
+
*/
|
|
149
|
+
EventEmitter.prototype.listenerCount = function listenerCount(event) {
|
|
150
|
+
var evt = prefix ? prefix + event : event,
|
|
151
|
+
listeners = this._events[evt];
|
|
152
|
+
if (!listeners) return 0;
|
|
153
|
+
if (listeners.fn) return 1;
|
|
154
|
+
return listeners.length;
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Calls each of the listeners registered for a given event.
|
|
159
|
+
*
|
|
160
|
+
* @param {(String|Symbol)} event The event name.
|
|
161
|
+
* @returns {Boolean} `true` if the event had listeners, else `false`.
|
|
162
|
+
* @public
|
|
163
|
+
*/
|
|
164
|
+
EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
|
|
165
|
+
var evt = prefix ? prefix + event : event;
|
|
166
|
+
if (!this._events[evt]) return false;
|
|
167
|
+
var listeners = this._events[evt],
|
|
168
|
+
len = arguments.length,
|
|
169
|
+
args,
|
|
170
|
+
i;
|
|
171
|
+
if (listeners.fn) {
|
|
172
|
+
if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);
|
|
173
|
+
switch (len) {
|
|
174
|
+
case 1:
|
|
175
|
+
return listeners.fn.call(listeners.context), true;
|
|
176
|
+
case 2:
|
|
177
|
+
return listeners.fn.call(listeners.context, a1), true;
|
|
178
|
+
case 3:
|
|
179
|
+
return listeners.fn.call(listeners.context, a1, a2), true;
|
|
180
|
+
case 4:
|
|
181
|
+
return listeners.fn.call(listeners.context, a1, a2, a3), true;
|
|
182
|
+
case 5:
|
|
183
|
+
return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
|
|
184
|
+
case 6:
|
|
185
|
+
return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
|
|
186
|
+
}
|
|
187
|
+
for (i = 1, args = new Array(len - 1); i < len; i++) {
|
|
188
|
+
args[i - 1] = arguments[i];
|
|
189
|
+
}
|
|
190
|
+
listeners.fn.apply(listeners.context, args);
|
|
191
|
+
} else {
|
|
192
|
+
var length = listeners.length,
|
|
193
|
+
j;
|
|
194
|
+
for (i = 0; i < length; i++) {
|
|
195
|
+
if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);
|
|
196
|
+
switch (len) {
|
|
197
|
+
case 1:
|
|
198
|
+
listeners[i].fn.call(listeners[i].context);
|
|
199
|
+
break;
|
|
200
|
+
case 2:
|
|
201
|
+
listeners[i].fn.call(listeners[i].context, a1);
|
|
202
|
+
break;
|
|
203
|
+
case 3:
|
|
204
|
+
listeners[i].fn.call(listeners[i].context, a1, a2);
|
|
205
|
+
break;
|
|
206
|
+
case 4:
|
|
207
|
+
listeners[i].fn.call(listeners[i].context, a1, a2, a3);
|
|
208
|
+
break;
|
|
209
|
+
default:
|
|
210
|
+
if (!args) for (j = 1, args = new Array(len - 1); j < len; j++) {
|
|
211
|
+
args[j - 1] = arguments[j];
|
|
212
|
+
}
|
|
213
|
+
listeners[i].fn.apply(listeners[i].context, args);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return true;
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Add a listener for a given event.
|
|
222
|
+
*
|
|
223
|
+
* @param {(String|Symbol)} event The event name.
|
|
224
|
+
* @param {Function} fn The listener function.
|
|
225
|
+
* @param {*} [context=this] The context to invoke the listener with.
|
|
226
|
+
* @returns {EventEmitter} `this`.
|
|
227
|
+
* @public
|
|
228
|
+
*/
|
|
229
|
+
EventEmitter.prototype.on = function on(event, fn, context) {
|
|
230
|
+
return addListener(this, event, fn, context, false);
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Add a one-time listener for a given event.
|
|
235
|
+
*
|
|
236
|
+
* @param {(String|Symbol)} event The event name.
|
|
237
|
+
* @param {Function} fn The listener function.
|
|
238
|
+
* @param {*} [context=this] The context to invoke the listener with.
|
|
239
|
+
* @returns {EventEmitter} `this`.
|
|
240
|
+
* @public
|
|
241
|
+
*/
|
|
242
|
+
EventEmitter.prototype.once = function once(event, fn, context) {
|
|
243
|
+
return addListener(this, event, fn, context, true);
|
|
244
|
+
};
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* Remove the listeners of a given event.
|
|
248
|
+
*
|
|
249
|
+
* @param {(String|Symbol)} event The event name.
|
|
250
|
+
* @param {Function} fn Only remove the listeners that match this function.
|
|
251
|
+
* @param {*} context Only remove the listeners that have this context.
|
|
252
|
+
* @param {Boolean} once Only remove one-time listeners.
|
|
253
|
+
* @returns {EventEmitter} `this`.
|
|
254
|
+
* @public
|
|
255
|
+
*/
|
|
256
|
+
EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {
|
|
257
|
+
var evt = prefix ? prefix + event : event;
|
|
258
|
+
if (!this._events[evt]) return this;
|
|
259
|
+
if (!fn) {
|
|
260
|
+
clearEvent(this, evt);
|
|
261
|
+
return this;
|
|
262
|
+
}
|
|
263
|
+
var listeners = this._events[evt];
|
|
264
|
+
if (listeners.fn) {
|
|
265
|
+
if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {
|
|
266
|
+
clearEvent(this, evt);
|
|
267
|
+
}
|
|
268
|
+
} else {
|
|
269
|
+
for (var i = 0, events = [], length = listeners.length; i < length; i++) {
|
|
270
|
+
if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) {
|
|
271
|
+
events.push(listeners[i]);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
//
|
|
276
|
+
// Reset the array, or remove it completely if we have no more listeners.
|
|
277
|
+
//
|
|
278
|
+
if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;else clearEvent(this, evt);
|
|
279
|
+
}
|
|
280
|
+
return this;
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Remove all listeners, or those of the specified event.
|
|
285
|
+
*
|
|
286
|
+
* @param {(String|Symbol)} [event] The event name.
|
|
287
|
+
* @returns {EventEmitter} `this`.
|
|
288
|
+
* @public
|
|
289
|
+
*/
|
|
290
|
+
EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
|
|
291
|
+
var evt;
|
|
292
|
+
if (event) {
|
|
293
|
+
evt = prefix ? prefix + event : event;
|
|
294
|
+
if (this._events[evt]) clearEvent(this, evt);
|
|
295
|
+
} else {
|
|
296
|
+
this._events = new Events();
|
|
297
|
+
this._eventsCount = 0;
|
|
298
|
+
}
|
|
299
|
+
return this;
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
//
|
|
303
|
+
// Alias methods names because people roll like that.
|
|
304
|
+
//
|
|
305
|
+
EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
|
|
306
|
+
EventEmitter.prototype.addListener = EventEmitter.prototype.on;
|
|
307
|
+
|
|
308
|
+
//
|
|
309
|
+
// Expose the prefix.
|
|
310
|
+
//
|
|
311
|
+
EventEmitter.prefixed = prefix;
|
|
312
|
+
|
|
313
|
+
//
|
|
314
|
+
// Allow `EventEmitter` to be imported as module namespace.
|
|
315
|
+
//
|
|
316
|
+
EventEmitter.EventEmitter = EventEmitter;
|
|
317
|
+
|
|
318
|
+
//
|
|
319
|
+
// Expose the module.
|
|
320
|
+
//
|
|
321
|
+
{
|
|
322
|
+
module.exports = EventEmitter;
|
|
323
|
+
}
|
|
324
|
+
})(eventemitter3);
|
|
325
|
+
return eventemitter3.exports;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
var eventemitter3Exports = requireEventemitter3();
|
|
329
|
+
var EventEmitter = /*@__PURE__*/getDefaultExportFromCjs(eventemitter3Exports);
|
|
330
|
+
|
|
331
|
+
class BroadcastChannelTransport {
|
|
332
|
+
/**
|
|
333
|
+
* @param sessionHash - A hash of all connection-relevant params (see
|
|
334
|
+
* Utils.hashParams). Tabs with identical params share one WebSocket;
|
|
335
|
+
* any differing param produces a different hash and therefore a fully
|
|
336
|
+
* independent connection.
|
|
337
|
+
*/
|
|
338
|
+
constructor(sessionHash) {
|
|
339
|
+
this.socket = null;
|
|
340
|
+
this.isLeader = false;
|
|
341
|
+
this.socketConnected = false;
|
|
342
|
+
this.handler = null;
|
|
343
|
+
this.pendingUrl = null;
|
|
344
|
+
this.pendingAuthToken = null;
|
|
345
|
+
this.lockReleaser = null;
|
|
346
|
+
const channelName = `exotel-ai-assist:${sessionHash}`;
|
|
347
|
+
const lockName = `exotel-ai-assist-leader:${sessionHash}`;
|
|
348
|
+
this.channel = new BroadcastChannel(channelName);
|
|
349
|
+
this.channel.onmessage = ev => {
|
|
350
|
+
var _a;
|
|
351
|
+
const data = ev.data;
|
|
352
|
+
if (this.isLeader) {
|
|
353
|
+
// A new follower tab has opened. If our socket is already connected,
|
|
354
|
+
// broadcast CONNECTED so the follower can sync its status immediately.
|
|
355
|
+
if (data.type === "JOIN" && this.socketConnected) {
|
|
356
|
+
this.channel.postMessage({
|
|
357
|
+
type: "CONNECTED"
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
// Follower: forward every message except JOIN to the controller handler.
|
|
363
|
+
if (data.type !== "JOIN") {
|
|
364
|
+
(_a = this.handler) === null || _a === void 0 ? void 0 : _a.call(this, data);
|
|
365
|
+
}
|
|
366
|
+
};
|
|
367
|
+
this._electLeader(lockName);
|
|
368
|
+
// Announce presence so the current leader can send us the current state.
|
|
369
|
+
// BroadcastChannel never delivers to the sender itself, so this is safe
|
|
370
|
+
// regardless of whether this tab ends up being the leader.
|
|
371
|
+
this.channel.postMessage({
|
|
372
|
+
type: "JOIN"
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
_electLeader(lockName) {
|
|
376
|
+
navigator.locks.request(lockName, {
|
|
377
|
+
ifAvailable: false
|
|
378
|
+
}, lock => {
|
|
379
|
+
if (lock) {
|
|
380
|
+
this.isLeader = true;
|
|
381
|
+
if (this.pendingUrl && this.pendingAuthToken) {
|
|
382
|
+
this._openSocket(this.pendingUrl, this.pendingAuthToken);
|
|
383
|
+
this.pendingUrl = null;
|
|
384
|
+
this.pendingAuthToken = null;
|
|
385
|
+
}
|
|
386
|
+
// Hold the lock for the lifetime of this transport instance.
|
|
387
|
+
return new Promise(resolve => {
|
|
388
|
+
this.lockReleaser = resolve;
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
return Promise.resolve();
|
|
392
|
+
}).catch(() => {
|
|
393
|
+
// Navigator Locks not supported — every tab owns its own WebSocket.
|
|
394
|
+
this.isLeader = true;
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
_openSocket(url, authToken) {
|
|
398
|
+
if (this.socket) {
|
|
399
|
+
this.socket.close(1000, "reconnecting");
|
|
400
|
+
}
|
|
401
|
+
// authToken is passed as a subprotocol so it is sent in the
|
|
402
|
+
// Sec-WebSocket-Protocol header — the only way to include auth
|
|
403
|
+
// credentials in a browser WebSocket handshake.
|
|
404
|
+
this.socket = new WebSocket(url);
|
|
405
|
+
this.socket.onopen = () => {
|
|
406
|
+
var _a;
|
|
407
|
+
this.socketConnected = true;
|
|
408
|
+
const msg = {
|
|
409
|
+
type: "CONNECTED"
|
|
410
|
+
};
|
|
411
|
+
(_a = this.handler) === null || _a === void 0 ? void 0 : _a.call(this, msg);
|
|
412
|
+
this.channel.postMessage(msg);
|
|
413
|
+
};
|
|
414
|
+
this.socket.onmessage = ev => {
|
|
415
|
+
var _a;
|
|
416
|
+
const msg = {
|
|
417
|
+
type: "MESSAGE",
|
|
418
|
+
payload: ev.data
|
|
419
|
+
};
|
|
420
|
+
(_a = this.handler) === null || _a === void 0 ? void 0 : _a.call(this, msg);
|
|
421
|
+
this.channel.postMessage(msg);
|
|
422
|
+
};
|
|
423
|
+
this.socket.onerror = () => {
|
|
424
|
+
var _a;
|
|
425
|
+
const msg = {
|
|
426
|
+
type: "ERROR",
|
|
427
|
+
message: "WebSocket error"
|
|
428
|
+
};
|
|
429
|
+
(_a = this.handler) === null || _a === void 0 ? void 0 : _a.call(this, msg);
|
|
430
|
+
this.channel.postMessage(msg);
|
|
431
|
+
};
|
|
432
|
+
this.socket.onclose = () => {
|
|
433
|
+
var _a;
|
|
434
|
+
this.socketConnected = false;
|
|
435
|
+
const msg = {
|
|
436
|
+
type: "DISCONNECTED"
|
|
437
|
+
};
|
|
438
|
+
(_a = this.handler) === null || _a === void 0 ? void 0 : _a.call(this, msg);
|
|
439
|
+
this.channel.postMessage(msg);
|
|
440
|
+
this.socket = null;
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
connect(url, authToken) {
|
|
444
|
+
if (this.isLeader) {
|
|
445
|
+
this._openSocket(url, authToken);
|
|
446
|
+
} else {
|
|
447
|
+
this.pendingUrl = url;
|
|
448
|
+
this.pendingAuthToken = authToken;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
disconnect() {
|
|
452
|
+
if (this.isLeader && this.socket) {
|
|
453
|
+
this.socket.close(1000, "disconnect_requested");
|
|
454
|
+
this.socket = null;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
send(payload) {
|
|
458
|
+
var _a;
|
|
459
|
+
if (this.isLeader && ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.OPEN) {
|
|
460
|
+
this.socket.send(payload);
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
onMessage(handler) {
|
|
464
|
+
this.handler = handler;
|
|
465
|
+
}
|
|
466
|
+
destroy() {
|
|
467
|
+
var _a;
|
|
468
|
+
this.disconnect();
|
|
469
|
+
this.channel.close();
|
|
470
|
+
(_a = this.lockReleaser) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
function createTransport(sessionHash) {
|
|
474
|
+
return new BroadcastChannelTransport(sessionHash);
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
function commonjsRequire(path) {
|
|
478
|
+
throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
var object_hash = {exports: {}};
|
|
482
|
+
|
|
483
|
+
var hasRequiredObject_hash;
|
|
484
|
+
function requireObject_hash() {
|
|
485
|
+
if (hasRequiredObject_hash) return object_hash.exports;
|
|
486
|
+
hasRequiredObject_hash = 1;
|
|
487
|
+
(function (module, exports$1) {
|
|
488
|
+
!function (e) {
|
|
489
|
+
module.exports = e() ;
|
|
490
|
+
}(function () {
|
|
491
|
+
return function r(o, i, u) {
|
|
492
|
+
function s(n, e) {
|
|
493
|
+
if (!i[n]) {
|
|
494
|
+
if (!o[n]) {
|
|
495
|
+
var t = "function" == typeof commonjsRequire && commonjsRequire;
|
|
496
|
+
if (!e && t) return t(n, true);
|
|
497
|
+
if (a) return a(n, true);
|
|
498
|
+
throw new Error("Cannot find module '" + n + "'");
|
|
499
|
+
}
|
|
500
|
+
e = i[n] = {
|
|
501
|
+
exports: {}
|
|
502
|
+
};
|
|
503
|
+
o[n][0].call(e.exports, function (e) {
|
|
504
|
+
var t = o[n][1][e];
|
|
505
|
+
return s(t || e);
|
|
506
|
+
}, e, e.exports, r, o, i, u);
|
|
507
|
+
}
|
|
508
|
+
return i[n].exports;
|
|
509
|
+
}
|
|
510
|
+
for (var a = "function" == typeof commonjsRequire && commonjsRequire, e = 0; e < u.length; e++) s(u[e]);
|
|
511
|
+
return s;
|
|
512
|
+
}({
|
|
513
|
+
1: [function (w, b, m) {
|
|
514
|
+
!function (e, n, s, c, d, h, p, g, y) {
|
|
515
|
+
|
|
516
|
+
var r = w("crypto");
|
|
517
|
+
function t(e, t) {
|
|
518
|
+
t = u(e, t);
|
|
519
|
+
var n;
|
|
520
|
+
return void 0 === (n = "passthrough" !== t.algorithm ? r.createHash(t.algorithm) : new l()).write && (n.write = n.update, n.end = n.update), f(t, n).dispatch(e), n.update || n.end(""), n.digest ? n.digest("buffer" === t.encoding ? void 0 : t.encoding) : (e = n.read(), "buffer" !== t.encoding ? e.toString(t.encoding) : e);
|
|
521
|
+
}
|
|
522
|
+
(m = b.exports = t).sha1 = function (e) {
|
|
523
|
+
return t(e);
|
|
524
|
+
}, m.keys = function (e) {
|
|
525
|
+
return t(e, {
|
|
526
|
+
excludeValues: true,
|
|
527
|
+
algorithm: "sha1",
|
|
528
|
+
encoding: "hex"
|
|
529
|
+
});
|
|
530
|
+
}, m.MD5 = function (e) {
|
|
531
|
+
return t(e, {
|
|
532
|
+
algorithm: "md5",
|
|
533
|
+
encoding: "hex"
|
|
534
|
+
});
|
|
535
|
+
}, m.keysMD5 = function (e) {
|
|
536
|
+
return t(e, {
|
|
537
|
+
algorithm: "md5",
|
|
538
|
+
encoding: "hex",
|
|
539
|
+
excludeValues: true
|
|
540
|
+
});
|
|
541
|
+
};
|
|
542
|
+
var o = r.getHashes ? r.getHashes().slice() : ["sha1", "md5"],
|
|
543
|
+
i = (o.push("passthrough"), ["buffer", "hex", "binary", "base64"]);
|
|
544
|
+
function u(e, t) {
|
|
545
|
+
var n = {};
|
|
546
|
+
if (n.algorithm = (t = t || {}).algorithm || "sha1", n.encoding = t.encoding || "hex", n.excludeValues = !!t.excludeValues, n.algorithm = n.algorithm.toLowerCase(), n.encoding = n.encoding.toLowerCase(), n.ignoreUnknown = true === t.ignoreUnknown, n.respectType = false !== t.respectType, n.respectFunctionNames = false !== t.respectFunctionNames, n.respectFunctionProperties = false !== t.respectFunctionProperties, n.unorderedArrays = true === t.unorderedArrays, n.unorderedSets = false !== t.unorderedSets, n.unorderedObjects = false !== t.unorderedObjects, n.replacer = t.replacer || void 0, n.excludeKeys = t.excludeKeys || void 0, void 0 === e) throw new Error("Object argument required.");
|
|
547
|
+
for (var r = 0; r < o.length; ++r) o[r].toLowerCase() === n.algorithm.toLowerCase() && (n.algorithm = o[r]);
|
|
548
|
+
if (-1 === o.indexOf(n.algorithm)) throw new Error('Algorithm "' + n.algorithm + '" not supported. supported values: ' + o.join(", "));
|
|
549
|
+
if (-1 === i.indexOf(n.encoding) && "passthrough" !== n.algorithm) throw new Error('Encoding "' + n.encoding + '" not supported. supported values: ' + i.join(", "));
|
|
550
|
+
return n;
|
|
551
|
+
}
|
|
552
|
+
function a(e) {
|
|
553
|
+
if ("function" == typeof e) return null != /^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i.exec(Function.prototype.toString.call(e));
|
|
554
|
+
}
|
|
555
|
+
function f(o, t, i) {
|
|
556
|
+
i = i || [];
|
|
557
|
+
function u(e) {
|
|
558
|
+
return t.update ? t.update(e, "utf8") : t.write(e, "utf8");
|
|
559
|
+
}
|
|
560
|
+
return {
|
|
561
|
+
dispatch: function (e) {
|
|
562
|
+
return this["_" + (null === (e = o.replacer ? o.replacer(e) : e) ? "null" : typeof e)](e);
|
|
563
|
+
},
|
|
564
|
+
_object: function (t) {
|
|
565
|
+
var n,
|
|
566
|
+
e = Object.prototype.toString.call(t),
|
|
567
|
+
r = /\[object (.*)\]/i.exec(e);
|
|
568
|
+
r = (r = r ? r[1] : "unknown:[" + e + "]").toLowerCase();
|
|
569
|
+
if (0 <= (e = i.indexOf(t))) return this.dispatch("[CIRCULAR:" + e + "]");
|
|
570
|
+
if (i.push(t), void 0 !== s && s.isBuffer && s.isBuffer(t)) return u("buffer:"), u(t);
|
|
571
|
+
if ("object" === r || "function" === r || "asyncfunction" === r) return e = Object.keys(t), o.unorderedObjects && (e = e.sort()), false === o.respectType || a(t) || e.splice(0, 0, "prototype", "__proto__", "constructor"), o.excludeKeys && (e = e.filter(function (e) {
|
|
572
|
+
return !o.excludeKeys(e);
|
|
573
|
+
})), u("object:" + e.length + ":"), n = this, e.forEach(function (e) {
|
|
574
|
+
n.dispatch(e), u(":"), o.excludeValues || n.dispatch(t[e]), u(",");
|
|
575
|
+
});
|
|
576
|
+
if (!this["_" + r]) {
|
|
577
|
+
if (o.ignoreUnknown) return u("[" + r + "]");
|
|
578
|
+
throw new Error('Unknown object type "' + r + '"');
|
|
579
|
+
}
|
|
580
|
+
this["_" + r](t);
|
|
581
|
+
},
|
|
582
|
+
_array: function (e, t) {
|
|
583
|
+
t = void 0 !== t ? t : false !== o.unorderedArrays;
|
|
584
|
+
var n = this;
|
|
585
|
+
if (u("array:" + e.length + ":"), !t || e.length <= 1) return e.forEach(function (e) {
|
|
586
|
+
return n.dispatch(e);
|
|
587
|
+
});
|
|
588
|
+
var r = [],
|
|
589
|
+
t = e.map(function (e) {
|
|
590
|
+
var t = new l(),
|
|
591
|
+
n = i.slice();
|
|
592
|
+
return f(o, t, n).dispatch(e), r = r.concat(n.slice(i.length)), t.read().toString();
|
|
593
|
+
});
|
|
594
|
+
return i = i.concat(r), t.sort(), this._array(t, false);
|
|
595
|
+
},
|
|
596
|
+
_date: function (e) {
|
|
597
|
+
return u("date:" + e.toJSON());
|
|
598
|
+
},
|
|
599
|
+
_symbol: function (e) {
|
|
600
|
+
return u("symbol:" + e.toString());
|
|
601
|
+
},
|
|
602
|
+
_error: function (e) {
|
|
603
|
+
return u("error:" + e.toString());
|
|
604
|
+
},
|
|
605
|
+
_boolean: function (e) {
|
|
606
|
+
return u("bool:" + e.toString());
|
|
607
|
+
},
|
|
608
|
+
_string: function (e) {
|
|
609
|
+
u("string:" + e.length + ":"), u(e.toString());
|
|
610
|
+
},
|
|
611
|
+
_function: function (e) {
|
|
612
|
+
u("fn:"), a(e) ? this.dispatch("[native]") : this.dispatch(e.toString()), false !== o.respectFunctionNames && this.dispatch("function-name:" + String(e.name)), o.respectFunctionProperties && this._object(e);
|
|
613
|
+
},
|
|
614
|
+
_number: function (e) {
|
|
615
|
+
return u("number:" + e.toString());
|
|
616
|
+
},
|
|
617
|
+
_xml: function (e) {
|
|
618
|
+
return u("xml:" + e.toString());
|
|
619
|
+
},
|
|
620
|
+
_null: function () {
|
|
621
|
+
return u("Null");
|
|
622
|
+
},
|
|
623
|
+
_undefined: function () {
|
|
624
|
+
return u("Undefined");
|
|
625
|
+
},
|
|
626
|
+
_regexp: function (e) {
|
|
627
|
+
return u("regex:" + e.toString());
|
|
628
|
+
},
|
|
629
|
+
_uint8array: function (e) {
|
|
630
|
+
return u("uint8array:"), this.dispatch(Array.prototype.slice.call(e));
|
|
631
|
+
},
|
|
632
|
+
_uint8clampedarray: function (e) {
|
|
633
|
+
return u("uint8clampedarray:"), this.dispatch(Array.prototype.slice.call(e));
|
|
634
|
+
},
|
|
635
|
+
_int8array: function (e) {
|
|
636
|
+
return u("int8array:"), this.dispatch(Array.prototype.slice.call(e));
|
|
637
|
+
},
|
|
638
|
+
_uint16array: function (e) {
|
|
639
|
+
return u("uint16array:"), this.dispatch(Array.prototype.slice.call(e));
|
|
640
|
+
},
|
|
641
|
+
_int16array: function (e) {
|
|
642
|
+
return u("int16array:"), this.dispatch(Array.prototype.slice.call(e));
|
|
643
|
+
},
|
|
644
|
+
_uint32array: function (e) {
|
|
645
|
+
return u("uint32array:"), this.dispatch(Array.prototype.slice.call(e));
|
|
646
|
+
},
|
|
647
|
+
_int32array: function (e) {
|
|
648
|
+
return u("int32array:"), this.dispatch(Array.prototype.slice.call(e));
|
|
649
|
+
},
|
|
650
|
+
_float32array: function (e) {
|
|
651
|
+
return u("float32array:"), this.dispatch(Array.prototype.slice.call(e));
|
|
652
|
+
},
|
|
653
|
+
_float64array: function (e) {
|
|
654
|
+
return u("float64array:"), this.dispatch(Array.prototype.slice.call(e));
|
|
655
|
+
},
|
|
656
|
+
_arraybuffer: function (e) {
|
|
657
|
+
return u("arraybuffer:"), this.dispatch(new Uint8Array(e));
|
|
658
|
+
},
|
|
659
|
+
_url: function (e) {
|
|
660
|
+
return u("url:" + e.toString());
|
|
661
|
+
},
|
|
662
|
+
_map: function (e) {
|
|
663
|
+
u("map:");
|
|
664
|
+
e = Array.from(e);
|
|
665
|
+
return this._array(e, false !== o.unorderedSets);
|
|
666
|
+
},
|
|
667
|
+
_set: function (e) {
|
|
668
|
+
u("set:");
|
|
669
|
+
e = Array.from(e);
|
|
670
|
+
return this._array(e, false !== o.unorderedSets);
|
|
671
|
+
},
|
|
672
|
+
_file: function (e) {
|
|
673
|
+
return u("file:"), this.dispatch([e.name, e.size, e.type, e.lastModfied]);
|
|
674
|
+
},
|
|
675
|
+
_blob: function () {
|
|
676
|
+
if (o.ignoreUnknown) return u("[blob]");
|
|
677
|
+
throw Error('Hashing Blob objects is currently not supported\n(see https://github.com/puleos/object-hash/issues/26)\nUse "options.replacer" or "options.ignoreUnknown"\n');
|
|
678
|
+
},
|
|
679
|
+
_domwindow: function () {
|
|
680
|
+
return u("domwindow");
|
|
681
|
+
},
|
|
682
|
+
_bigint: function (e) {
|
|
683
|
+
return u("bigint:" + e.toString());
|
|
684
|
+
},
|
|
685
|
+
_process: function () {
|
|
686
|
+
return u("process");
|
|
687
|
+
},
|
|
688
|
+
_timer: function () {
|
|
689
|
+
return u("timer");
|
|
690
|
+
},
|
|
691
|
+
_pipe: function () {
|
|
692
|
+
return u("pipe");
|
|
693
|
+
},
|
|
694
|
+
_tcp: function () {
|
|
695
|
+
return u("tcp");
|
|
696
|
+
},
|
|
697
|
+
_udp: function () {
|
|
698
|
+
return u("udp");
|
|
699
|
+
},
|
|
700
|
+
_tty: function () {
|
|
701
|
+
return u("tty");
|
|
702
|
+
},
|
|
703
|
+
_statwatcher: function () {
|
|
704
|
+
return u("statwatcher");
|
|
705
|
+
},
|
|
706
|
+
_securecontext: function () {
|
|
707
|
+
return u("securecontext");
|
|
708
|
+
},
|
|
709
|
+
_connection: function () {
|
|
710
|
+
return u("connection");
|
|
711
|
+
},
|
|
712
|
+
_zlib: function () {
|
|
713
|
+
return u("zlib");
|
|
714
|
+
},
|
|
715
|
+
_context: function () {
|
|
716
|
+
return u("context");
|
|
717
|
+
},
|
|
718
|
+
_nodescript: function () {
|
|
719
|
+
return u("nodescript");
|
|
720
|
+
},
|
|
721
|
+
_httpparser: function () {
|
|
722
|
+
return u("httpparser");
|
|
723
|
+
},
|
|
724
|
+
_dataview: function () {
|
|
725
|
+
return u("dataview");
|
|
726
|
+
},
|
|
727
|
+
_signal: function () {
|
|
728
|
+
return u("signal");
|
|
729
|
+
},
|
|
730
|
+
_fsevent: function () {
|
|
731
|
+
return u("fsevent");
|
|
732
|
+
},
|
|
733
|
+
_tlswrap: function () {
|
|
734
|
+
return u("tlswrap");
|
|
735
|
+
}
|
|
736
|
+
};
|
|
737
|
+
}
|
|
738
|
+
function l() {
|
|
739
|
+
return {
|
|
740
|
+
buf: "",
|
|
741
|
+
write: function (e) {
|
|
742
|
+
this.buf += e;
|
|
743
|
+
},
|
|
744
|
+
end: function (e) {
|
|
745
|
+
this.buf += e;
|
|
746
|
+
},
|
|
747
|
+
read: function () {
|
|
748
|
+
return this.buf;
|
|
749
|
+
}
|
|
750
|
+
};
|
|
751
|
+
}
|
|
752
|
+
m.writeToStream = function (e, t, n) {
|
|
753
|
+
return void 0 === n && (n = t, t = {}), f(t = u(e, t), n).dispatch(e);
|
|
754
|
+
};
|
|
755
|
+
}.call(this, w("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, w("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/fake_9a5aa49d.js", "/");
|
|
756
|
+
}, {
|
|
757
|
+
buffer: 3,
|
|
758
|
+
crypto: 5,
|
|
759
|
+
lYpoI2: 11
|
|
760
|
+
}],
|
|
761
|
+
2: [function (e, t, f) {
|
|
762
|
+
!function (e, t, n, r, o, i, u, s, a) {
|
|
763
|
+
!function (e) {
|
|
764
|
+
|
|
765
|
+
var a = "undefined" != typeof Uint8Array ? Uint8Array : Array,
|
|
766
|
+
t = "+".charCodeAt(0),
|
|
767
|
+
n = "/".charCodeAt(0),
|
|
768
|
+
r = "0".charCodeAt(0),
|
|
769
|
+
o = "a".charCodeAt(0),
|
|
770
|
+
i = "A".charCodeAt(0),
|
|
771
|
+
u = "-".charCodeAt(0),
|
|
772
|
+
s = "_".charCodeAt(0);
|
|
773
|
+
function f(e) {
|
|
774
|
+
e = e.charCodeAt(0);
|
|
775
|
+
return e === t || e === u ? 62 : e === n || e === s ? 63 : e < r ? -1 : e < r + 10 ? e - r + 26 + 26 : e < i + 26 ? e - i : e < o + 26 ? e - o + 26 : void 0;
|
|
776
|
+
}
|
|
777
|
+
e.toByteArray = function (e) {
|
|
778
|
+
var t, n;
|
|
779
|
+
if (0 < e.length % 4) throw new Error("Invalid string. Length must be a multiple of 4");
|
|
780
|
+
var r = e.length,
|
|
781
|
+
r = "=" === e.charAt(r - 2) ? 2 : "=" === e.charAt(r - 1) ? 1 : 0,
|
|
782
|
+
o = new a(3 * e.length / 4 - r),
|
|
783
|
+
i = 0 < r ? e.length - 4 : e.length,
|
|
784
|
+
u = 0;
|
|
785
|
+
function s(e) {
|
|
786
|
+
o[u++] = e;
|
|
787
|
+
}
|
|
788
|
+
for (t = 0; t < i; t += 4, 0) s((16711680 & (n = f(e.charAt(t)) << 18 | f(e.charAt(t + 1)) << 12 | f(e.charAt(t + 2)) << 6 | f(e.charAt(t + 3)))) >> 16), s((65280 & n) >> 8), s(255 & n);
|
|
789
|
+
return 2 == r ? s(255 & (n = f(e.charAt(t)) << 2 | f(e.charAt(t + 1)) >> 4)) : 1 == r && (s((n = f(e.charAt(t)) << 10 | f(e.charAt(t + 1)) << 4 | f(e.charAt(t + 2)) >> 2) >> 8 & 255), s(255 & n)), o;
|
|
790
|
+
}, e.fromByteArray = function (e) {
|
|
791
|
+
var t,
|
|
792
|
+
n,
|
|
793
|
+
r,
|
|
794
|
+
o,
|
|
795
|
+
i = e.length % 3,
|
|
796
|
+
u = "";
|
|
797
|
+
function s(e) {
|
|
798
|
+
return "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e);
|
|
799
|
+
}
|
|
800
|
+
for (t = 0, r = e.length - i; t < r; t += 3) n = (e[t] << 16) + (e[t + 1] << 8) + e[t + 2], u += s((o = n) >> 18 & 63) + s(o >> 12 & 63) + s(o >> 6 & 63) + s(63 & o);
|
|
801
|
+
switch (i) {
|
|
802
|
+
case 1:
|
|
803
|
+
u = (u += s((n = e[e.length - 1]) >> 2)) + s(n << 4 & 63) + "==";
|
|
804
|
+
break;
|
|
805
|
+
case 2:
|
|
806
|
+
u = (u = (u += s((n = (e[e.length - 2] << 8) + e[e.length - 1]) >> 10)) + s(n >> 4 & 63)) + s(n << 2 & 63) + "=";
|
|
807
|
+
}
|
|
808
|
+
return u;
|
|
809
|
+
};
|
|
810
|
+
}(void 0 === f ? this.base64js = {} : f);
|
|
811
|
+
}.call(this, e("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js", "/node_modules/gulp-browserify/node_modules/base64-js/lib");
|
|
812
|
+
}, {
|
|
813
|
+
buffer: 3,
|
|
814
|
+
lYpoI2: 11
|
|
815
|
+
}],
|
|
816
|
+
3: [function (O, e, H) {
|
|
817
|
+
!function (e, n, f, r, h, p, g, y, w) {
|
|
818
|
+
var a = O("base64-js"),
|
|
819
|
+
i = O("ieee754");
|
|
820
|
+
function f(e, t, n) {
|
|
821
|
+
if (!(this instanceof f)) return new f(e, t, n);
|
|
822
|
+
var r,
|
|
823
|
+
o,
|
|
824
|
+
i,
|
|
825
|
+
u,
|
|
826
|
+
s = typeof e;
|
|
827
|
+
if ("base64" === t && "string" == s) for (e = (u = e).trim ? u.trim() : u.replace(/^\s+|\s+$/g, ""); e.length % 4 != 0;) e += "=";
|
|
828
|
+
if ("number" == s) r = j(e);else if ("string" == s) r = f.byteLength(e, t);else {
|
|
829
|
+
if ("object" != s) throw new Error("First argument needs to be a number, array or string.");
|
|
830
|
+
r = j(e.length);
|
|
831
|
+
}
|
|
832
|
+
if (f._useTypedArrays ? o = f._augment(new Uint8Array(r)) : ((o = this).length = r, o._isBuffer = true), f._useTypedArrays && "number" == typeof e.byteLength) o._set(e);else if (C(u = e) || f.isBuffer(u) || u && "object" == typeof u && "number" == typeof u.length) for (i = 0; i < r; i++) f.isBuffer(e) ? o[i] = e.readUInt8(i) : o[i] = e[i];else if ("string" == s) o.write(e, 0, t);else if ("number" == s && !f._useTypedArrays && !n) for (i = 0; i < r; i++) o[i] = 0;
|
|
833
|
+
return o;
|
|
834
|
+
}
|
|
835
|
+
function b(e, t, n, r) {
|
|
836
|
+
return f._charsWritten = c(function (e) {
|
|
837
|
+
for (var t = [], n = 0; n < e.length; n++) t.push(255 & e.charCodeAt(n));
|
|
838
|
+
return t;
|
|
839
|
+
}(t), e, n, r);
|
|
840
|
+
}
|
|
841
|
+
function m(e, t, n, r) {
|
|
842
|
+
return f._charsWritten = c(function (e) {
|
|
843
|
+
for (var t, n, r = [], o = 0; o < e.length; o++) n = e.charCodeAt(o), t = n >> 8, n = n % 256, r.push(n), r.push(t);
|
|
844
|
+
return r;
|
|
845
|
+
}(t), e, n, r);
|
|
846
|
+
}
|
|
847
|
+
function v(e, t, n) {
|
|
848
|
+
var r = "";
|
|
849
|
+
n = Math.min(e.length, n);
|
|
850
|
+
for (var o = t; o < n; o++) r += String.fromCharCode(e[o]);
|
|
851
|
+
return r;
|
|
852
|
+
}
|
|
853
|
+
function o(e, t, n, r) {
|
|
854
|
+
r || (d("boolean" == typeof n, "missing or invalid endian"), d(null != t, "missing offset"), d(t + 1 < e.length, "Trying to read beyond buffer length"));
|
|
855
|
+
var o,
|
|
856
|
+
r = e.length;
|
|
857
|
+
if (!(r <= t)) return n ? (o = e[t], t + 1 < r && (o |= e[t + 1] << 8)) : (o = e[t] << 8, t + 1 < r && (o |= e[t + 1])), o;
|
|
858
|
+
}
|
|
859
|
+
function u(e, t, n, r) {
|
|
860
|
+
r || (d("boolean" == typeof n, "missing or invalid endian"), d(null != t, "missing offset"), d(t + 3 < e.length, "Trying to read beyond buffer length"));
|
|
861
|
+
var o,
|
|
862
|
+
r = e.length;
|
|
863
|
+
if (!(r <= t)) return n ? (t + 2 < r && (o = e[t + 2] << 16), t + 1 < r && (o |= e[t + 1] << 8), o |= e[t], t + 3 < r && (o += e[t + 3] << 24 >>> 0)) : (t + 1 < r && (o = e[t + 1] << 16), t + 2 < r && (o |= e[t + 2] << 8), t + 3 < r && (o |= e[t + 3]), o += e[t] << 24 >>> 0), o;
|
|
864
|
+
}
|
|
865
|
+
function _(e, t, n, r) {
|
|
866
|
+
if (r || (d("boolean" == typeof n, "missing or invalid endian"), d(null != t, "missing offset"), d(t + 1 < e.length, "Trying to read beyond buffer length")), !(e.length <= t)) return r = o(e, t, n, true), 32768 & r ? -1 * (65535 - r + 1) : r;
|
|
867
|
+
}
|
|
868
|
+
function E(e, t, n, r) {
|
|
869
|
+
if (r || (d("boolean" == typeof n, "missing or invalid endian"), d(null != t, "missing offset"), d(t + 3 < e.length, "Trying to read beyond buffer length")), !(e.length <= t)) return r = u(e, t, n, true), 2147483648 & r ? -1 * (4294967295 - r + 1) : r;
|
|
870
|
+
}
|
|
871
|
+
function I(e, t, n, r) {
|
|
872
|
+
return r || (d("boolean" == typeof n, "missing or invalid endian"), d(t + 3 < e.length, "Trying to read beyond buffer length")), i.read(e, t, n, 23, 4);
|
|
873
|
+
}
|
|
874
|
+
function A(e, t, n, r) {
|
|
875
|
+
return r || (d("boolean" == typeof n, "missing or invalid endian"), d(t + 7 < e.length, "Trying to read beyond buffer length")), i.read(e, t, n, 52, 8);
|
|
876
|
+
}
|
|
877
|
+
function s(e, t, n, r, o) {
|
|
878
|
+
o || (d(null != t, "missing value"), d("boolean" == typeof r, "missing or invalid endian"), d(null != n, "missing offset"), d(n + 1 < e.length, "trying to write beyond buffer length"), Y(t, 65535));
|
|
879
|
+
o = e.length;
|
|
880
|
+
if (!(o <= n)) for (var i = 0, u = Math.min(o - n, 2); i < u; i++) e[n + i] = (t & 255 << 8 * (r ? i : 1 - i)) >>> 8 * (r ? i : 1 - i);
|
|
881
|
+
}
|
|
882
|
+
function l(e, t, n, r, o) {
|
|
883
|
+
o || (d(null != t, "missing value"), d("boolean" == typeof r, "missing or invalid endian"), d(null != n, "missing offset"), d(n + 3 < e.length, "trying to write beyond buffer length"), Y(t, 4294967295));
|
|
884
|
+
o = e.length;
|
|
885
|
+
if (!(o <= n)) for (var i = 0, u = Math.min(o - n, 4); i < u; i++) e[n + i] = t >>> 8 * (r ? i : 3 - i) & 255;
|
|
886
|
+
}
|
|
887
|
+
function B(e, t, n, r, o) {
|
|
888
|
+
o || (d(null != t, "missing value"), d("boolean" == typeof r, "missing or invalid endian"), d(null != n, "missing offset"), d(n + 1 < e.length, "Trying to write beyond buffer length"), F(t, 32767, -32768)), e.length <= n || s(e, 0 <= t ? t : 65535 + t + 1, n, r, o);
|
|
889
|
+
}
|
|
890
|
+
function L(e, t, n, r, o) {
|
|
891
|
+
o || (d(null != t, "missing value"), d("boolean" == typeof r, "missing or invalid endian"), d(null != n, "missing offset"), d(n + 3 < e.length, "Trying to write beyond buffer length"), F(t, 2147483647, -2147483648)), e.length <= n || l(e, 0 <= t ? t : 4294967295 + t + 1, n, r, o);
|
|
892
|
+
}
|
|
893
|
+
function U(e, t, n, r, o) {
|
|
894
|
+
o || (d(null != t, "missing value"), d("boolean" == typeof r, "missing or invalid endian"), d(null != n, "missing offset"), d(n + 3 < e.length, "Trying to write beyond buffer length"), D(t, 34028234663852886e22, -34028234663852886e22)), e.length <= n || i.write(e, t, n, r, 23, 4);
|
|
895
|
+
}
|
|
896
|
+
function x(e, t, n, r, o) {
|
|
897
|
+
o || (d(null != t, "missing value"), d("boolean" == typeof r, "missing or invalid endian"), d(null != n, "missing offset"), d(n + 7 < e.length, "Trying to write beyond buffer length"), D(t, 17976931348623157e292, -17976931348623157e292)), e.length <= n || i.write(e, t, n, r, 52, 8);
|
|
898
|
+
}
|
|
899
|
+
H.Buffer = f, H.SlowBuffer = f, H.INSPECT_MAX_BYTES = 50, f.poolSize = 8192, f._useTypedArrays = function () {
|
|
900
|
+
try {
|
|
901
|
+
var e = new ArrayBuffer(0),
|
|
902
|
+
t = new Uint8Array(e);
|
|
903
|
+
return t.foo = function () {
|
|
904
|
+
return 42;
|
|
905
|
+
}, 42 === t.foo() && "function" == typeof t.subarray;
|
|
906
|
+
} catch (e) {
|
|
907
|
+
return false;
|
|
908
|
+
}
|
|
909
|
+
}(), f.isEncoding = function (e) {
|
|
910
|
+
switch (String(e).toLowerCase()) {
|
|
911
|
+
case "hex":
|
|
912
|
+
case "utf8":
|
|
913
|
+
case "utf-8":
|
|
914
|
+
case "ascii":
|
|
915
|
+
case "binary":
|
|
916
|
+
case "base64":
|
|
917
|
+
case "raw":
|
|
918
|
+
case "ucs2":
|
|
919
|
+
case "ucs-2":
|
|
920
|
+
case "utf16le":
|
|
921
|
+
case "utf-16le":
|
|
922
|
+
return true;
|
|
923
|
+
default:
|
|
924
|
+
return false;
|
|
925
|
+
}
|
|
926
|
+
}, f.isBuffer = function (e) {
|
|
927
|
+
return !(null == e || !e._isBuffer);
|
|
928
|
+
}, f.byteLength = function (e, t) {
|
|
929
|
+
var n;
|
|
930
|
+
switch (e += "", t || "utf8") {
|
|
931
|
+
case "hex":
|
|
932
|
+
n = e.length / 2;
|
|
933
|
+
break;
|
|
934
|
+
case "utf8":
|
|
935
|
+
case "utf-8":
|
|
936
|
+
n = T(e).length;
|
|
937
|
+
break;
|
|
938
|
+
case "ascii":
|
|
939
|
+
case "binary":
|
|
940
|
+
case "raw":
|
|
941
|
+
n = e.length;
|
|
942
|
+
break;
|
|
943
|
+
case "base64":
|
|
944
|
+
n = M(e).length;
|
|
945
|
+
break;
|
|
946
|
+
case "ucs2":
|
|
947
|
+
case "ucs-2":
|
|
948
|
+
case "utf16le":
|
|
949
|
+
case "utf-16le":
|
|
950
|
+
n = 2 * e.length;
|
|
951
|
+
break;
|
|
952
|
+
default:
|
|
953
|
+
throw new Error("Unknown encoding");
|
|
954
|
+
}
|
|
955
|
+
return n;
|
|
956
|
+
}, f.concat = function (e, t) {
|
|
957
|
+
if (d(C(e), "Usage: Buffer.concat(list, [totalLength])\nlist should be an Array."), 0 === e.length) return new f(0);
|
|
958
|
+
if (1 === e.length) return e[0];
|
|
959
|
+
if ("number" != typeof t) for (o = t = 0; o < e.length; o++) t += e[o].length;
|
|
960
|
+
for (var n = new f(t), r = 0, o = 0; o < e.length; o++) {
|
|
961
|
+
var i = e[o];
|
|
962
|
+
i.copy(n, r), r += i.length;
|
|
963
|
+
}
|
|
964
|
+
return n;
|
|
965
|
+
}, f.prototype.write = function (e, t, n, r) {
|
|
966
|
+
isFinite(t) ? isFinite(n) || (r = n, n = void 0) : (a = r, r = t, t = n, n = a), t = Number(t) || 0;
|
|
967
|
+
var o,
|
|
968
|
+
i,
|
|
969
|
+
u,
|
|
970
|
+
s,
|
|
971
|
+
a = this.length - t;
|
|
972
|
+
switch ((!n || a < (n = Number(n))) && (n = a), r = String(r || "utf8").toLowerCase()) {
|
|
973
|
+
case "hex":
|
|
974
|
+
o = function (e, t, n, r) {
|
|
975
|
+
n = Number(n) || 0;
|
|
976
|
+
var o = e.length - n;
|
|
977
|
+
(!r || o < (r = Number(r))) && (r = o), d((o = t.length) % 2 == 0, "Invalid hex string"), o / 2 < r && (r = o / 2);
|
|
978
|
+
for (var i = 0; i < r; i++) {
|
|
979
|
+
var u = parseInt(t.substr(2 * i, 2), 16);
|
|
980
|
+
d(!isNaN(u), "Invalid hex string"), e[n + i] = u;
|
|
981
|
+
}
|
|
982
|
+
return f._charsWritten = 2 * i, i;
|
|
983
|
+
}(this, e, t, n);
|
|
984
|
+
break;
|
|
985
|
+
case "utf8":
|
|
986
|
+
case "utf-8":
|
|
987
|
+
i = this, u = t, s = n, o = f._charsWritten = c(T(e), i, u, s);
|
|
988
|
+
break;
|
|
989
|
+
case "ascii":
|
|
990
|
+
case "binary":
|
|
991
|
+
o = b(this, e, t, n);
|
|
992
|
+
break;
|
|
993
|
+
case "base64":
|
|
994
|
+
i = this, u = t, s = n, o = f._charsWritten = c(M(e), i, u, s);
|
|
995
|
+
break;
|
|
996
|
+
case "ucs2":
|
|
997
|
+
case "ucs-2":
|
|
998
|
+
case "utf16le":
|
|
999
|
+
case "utf-16le":
|
|
1000
|
+
o = m(this, e, t, n);
|
|
1001
|
+
break;
|
|
1002
|
+
default:
|
|
1003
|
+
throw new Error("Unknown encoding");
|
|
1004
|
+
}
|
|
1005
|
+
return o;
|
|
1006
|
+
}, f.prototype.toString = function (e, t, n) {
|
|
1007
|
+
var r,
|
|
1008
|
+
o,
|
|
1009
|
+
i,
|
|
1010
|
+
u,
|
|
1011
|
+
s = this;
|
|
1012
|
+
if (e = String(e || "utf8").toLowerCase(), t = Number(t) || 0, (n = void 0 !== n ? Number(n) : s.length) === t) return "";
|
|
1013
|
+
switch (e) {
|
|
1014
|
+
case "hex":
|
|
1015
|
+
r = function (e, t, n) {
|
|
1016
|
+
var r = e.length;
|
|
1017
|
+
(!t || t < 0) && (t = 0);
|
|
1018
|
+
(!n || n < 0 || r < n) && (n = r);
|
|
1019
|
+
for (var o = "", i = t; i < n; i++) o += k(e[i]);
|
|
1020
|
+
return o;
|
|
1021
|
+
}(s, t, n);
|
|
1022
|
+
break;
|
|
1023
|
+
case "utf8":
|
|
1024
|
+
case "utf-8":
|
|
1025
|
+
r = function (e, t, n) {
|
|
1026
|
+
var r = "",
|
|
1027
|
+
o = "";
|
|
1028
|
+
n = Math.min(e.length, n);
|
|
1029
|
+
for (var i = t; i < n; i++) e[i] <= 127 ? (r += N(o) + String.fromCharCode(e[i]), o = "") : o += "%" + e[i].toString(16);
|
|
1030
|
+
return r + N(o);
|
|
1031
|
+
}(s, t, n);
|
|
1032
|
+
break;
|
|
1033
|
+
case "ascii":
|
|
1034
|
+
case "binary":
|
|
1035
|
+
r = v(s, t, n);
|
|
1036
|
+
break;
|
|
1037
|
+
case "base64":
|
|
1038
|
+
o = s, u = n, r = 0 === (i = t) && u === o.length ? a.fromByteArray(o) : a.fromByteArray(o.slice(i, u));
|
|
1039
|
+
break;
|
|
1040
|
+
case "ucs2":
|
|
1041
|
+
case "ucs-2":
|
|
1042
|
+
case "utf16le":
|
|
1043
|
+
case "utf-16le":
|
|
1044
|
+
r = function (e, t, n) {
|
|
1045
|
+
for (var r = e.slice(t, n), o = "", i = 0; i < r.length; i += 2) o += String.fromCharCode(r[i] + 256 * r[i + 1]);
|
|
1046
|
+
return o;
|
|
1047
|
+
}(s, t, n);
|
|
1048
|
+
break;
|
|
1049
|
+
default:
|
|
1050
|
+
throw new Error("Unknown encoding");
|
|
1051
|
+
}
|
|
1052
|
+
return r;
|
|
1053
|
+
}, f.prototype.toJSON = function () {
|
|
1054
|
+
return {
|
|
1055
|
+
type: "Buffer",
|
|
1056
|
+
data: Array.prototype.slice.call(this._arr || this, 0)
|
|
1057
|
+
};
|
|
1058
|
+
}, f.prototype.copy = function (e, t, n, r) {
|
|
1059
|
+
if (t = t || 0, (r = r || 0 === r ? r : this.length) !== (n = n || 0) && 0 !== e.length && 0 !== this.length) {
|
|
1060
|
+
d(n <= r, "sourceEnd < sourceStart"), d(0 <= t && t < e.length, "targetStart out of bounds"), d(0 <= n && n < this.length, "sourceStart out of bounds"), d(0 <= r && r <= this.length, "sourceEnd out of bounds"), r > this.length && (r = this.length);
|
|
1061
|
+
var o = (r = e.length - t < r - n ? e.length - t + n : r) - n;
|
|
1062
|
+
if (o < 100 || !f._useTypedArrays) for (var i = 0; i < o; i++) e[i + t] = this[i + n];else e._set(this.subarray(n, n + o), t);
|
|
1063
|
+
}
|
|
1064
|
+
}, f.prototype.slice = function (e, t) {
|
|
1065
|
+
var n = this.length;
|
|
1066
|
+
if (e = S(e, n, 0), t = S(t, n, n), f._useTypedArrays) return f._augment(this.subarray(e, t));
|
|
1067
|
+
for (var r = t - e, o = new f(r, void 0, true), i = 0; i < r; i++) o[i] = this[i + e];
|
|
1068
|
+
return o;
|
|
1069
|
+
}, f.prototype.get = function (e) {
|
|
1070
|
+
return console.log(".get() is deprecated. Access using array indexes instead."), this.readUInt8(e);
|
|
1071
|
+
}, f.prototype.set = function (e, t) {
|
|
1072
|
+
return console.log(".set() is deprecated. Access using array indexes instead."), this.writeUInt8(e, t);
|
|
1073
|
+
}, f.prototype.readUInt8 = function (e, t) {
|
|
1074
|
+
if (t || (d(null != e, "missing offset"), d(e < this.length, "Trying to read beyond buffer length")), !(e >= this.length)) return this[e];
|
|
1075
|
+
}, f.prototype.readUInt16LE = function (e, t) {
|
|
1076
|
+
return o(this, e, true, t);
|
|
1077
|
+
}, f.prototype.readUInt16BE = function (e, t) {
|
|
1078
|
+
return o(this, e, false, t);
|
|
1079
|
+
}, f.prototype.readUInt32LE = function (e, t) {
|
|
1080
|
+
return u(this, e, true, t);
|
|
1081
|
+
}, f.prototype.readUInt32BE = function (e, t) {
|
|
1082
|
+
return u(this, e, false, t);
|
|
1083
|
+
}, f.prototype.readInt8 = function (e, t) {
|
|
1084
|
+
if (t || (d(null != e, "missing offset"), d(e < this.length, "Trying to read beyond buffer length")), !(e >= this.length)) return 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e];
|
|
1085
|
+
}, f.prototype.readInt16LE = function (e, t) {
|
|
1086
|
+
return _(this, e, true, t);
|
|
1087
|
+
}, f.prototype.readInt16BE = function (e, t) {
|
|
1088
|
+
return _(this, e, false, t);
|
|
1089
|
+
}, f.prototype.readInt32LE = function (e, t) {
|
|
1090
|
+
return E(this, e, true, t);
|
|
1091
|
+
}, f.prototype.readInt32BE = function (e, t) {
|
|
1092
|
+
return E(this, e, false, t);
|
|
1093
|
+
}, f.prototype.readFloatLE = function (e, t) {
|
|
1094
|
+
return I(this, e, true, t);
|
|
1095
|
+
}, f.prototype.readFloatBE = function (e, t) {
|
|
1096
|
+
return I(this, e, false, t);
|
|
1097
|
+
}, f.prototype.readDoubleLE = function (e, t) {
|
|
1098
|
+
return A(this, e, true, t);
|
|
1099
|
+
}, f.prototype.readDoubleBE = function (e, t) {
|
|
1100
|
+
return A(this, e, false, t);
|
|
1101
|
+
}, f.prototype.writeUInt8 = function (e, t, n) {
|
|
1102
|
+
n || (d(null != e, "missing value"), d(null != t, "missing offset"), d(t < this.length, "trying to write beyond buffer length"), Y(e, 255)), t >= this.length || (this[t] = e);
|
|
1103
|
+
}, f.prototype.writeUInt16LE = function (e, t, n) {
|
|
1104
|
+
s(this, e, t, true, n);
|
|
1105
|
+
}, f.prototype.writeUInt16BE = function (e, t, n) {
|
|
1106
|
+
s(this, e, t, false, n);
|
|
1107
|
+
}, f.prototype.writeUInt32LE = function (e, t, n) {
|
|
1108
|
+
l(this, e, t, true, n);
|
|
1109
|
+
}, f.prototype.writeUInt32BE = function (e, t, n) {
|
|
1110
|
+
l(this, e, t, false, n);
|
|
1111
|
+
}, f.prototype.writeInt8 = function (e, t, n) {
|
|
1112
|
+
n || (d(null != e, "missing value"), d(null != t, "missing offset"), d(t < this.length, "Trying to write beyond buffer length"), F(e, 127, -128)), t >= this.length || (0 <= e ? this.writeUInt8(e, t, n) : this.writeUInt8(255 + e + 1, t, n));
|
|
1113
|
+
}, f.prototype.writeInt16LE = function (e, t, n) {
|
|
1114
|
+
B(this, e, t, true, n);
|
|
1115
|
+
}, f.prototype.writeInt16BE = function (e, t, n) {
|
|
1116
|
+
B(this, e, t, false, n);
|
|
1117
|
+
}, f.prototype.writeInt32LE = function (e, t, n) {
|
|
1118
|
+
L(this, e, t, true, n);
|
|
1119
|
+
}, f.prototype.writeInt32BE = function (e, t, n) {
|
|
1120
|
+
L(this, e, t, false, n);
|
|
1121
|
+
}, f.prototype.writeFloatLE = function (e, t, n) {
|
|
1122
|
+
U(this, e, t, true, n);
|
|
1123
|
+
}, f.prototype.writeFloatBE = function (e, t, n) {
|
|
1124
|
+
U(this, e, t, false, n);
|
|
1125
|
+
}, f.prototype.writeDoubleLE = function (e, t, n) {
|
|
1126
|
+
x(this, e, t, true, n);
|
|
1127
|
+
}, f.prototype.writeDoubleBE = function (e, t, n) {
|
|
1128
|
+
x(this, e, t, false, n);
|
|
1129
|
+
}, f.prototype.fill = function (e, t, n) {
|
|
1130
|
+
if (t = t || 0, n = n || this.length, d("number" == typeof (e = "string" == typeof (e = e || 0) ? e.charCodeAt(0) : e) && !isNaN(e), "value is not a number"), d(t <= n, "end < start"), n !== t && 0 !== this.length) {
|
|
1131
|
+
d(0 <= t && t < this.length, "start out of bounds"), d(0 <= n && n <= this.length, "end out of bounds");
|
|
1132
|
+
for (var r = t; r < n; r++) this[r] = e;
|
|
1133
|
+
}
|
|
1134
|
+
}, f.prototype.inspect = function () {
|
|
1135
|
+
for (var e = [], t = this.length, n = 0; n < t; n++) if (e[n] = k(this[n]), n === H.INSPECT_MAX_BYTES) {
|
|
1136
|
+
e[n + 1] = "...";
|
|
1137
|
+
break;
|
|
1138
|
+
}
|
|
1139
|
+
return "<Buffer " + e.join(" ") + ">";
|
|
1140
|
+
}, f.prototype.toArrayBuffer = function () {
|
|
1141
|
+
if ("undefined" == typeof Uint8Array) throw new Error("Buffer.toArrayBuffer not supported in this browser");
|
|
1142
|
+
if (f._useTypedArrays) return new f(this).buffer;
|
|
1143
|
+
for (var e = new Uint8Array(this.length), t = 0, n = e.length; t < n; t += 1) e[t] = this[t];
|
|
1144
|
+
return e.buffer;
|
|
1145
|
+
};
|
|
1146
|
+
var t = f.prototype;
|
|
1147
|
+
function S(e, t, n) {
|
|
1148
|
+
return "number" != typeof e ? n : t <= (e = ~~e) ? t : 0 <= e || 0 <= (e += t) ? e : 0;
|
|
1149
|
+
}
|
|
1150
|
+
function j(e) {
|
|
1151
|
+
return (e = ~~Math.ceil(+e)) < 0 ? 0 : e;
|
|
1152
|
+
}
|
|
1153
|
+
function C(e) {
|
|
1154
|
+
return (Array.isArray || function (e) {
|
|
1155
|
+
return "[object Array]" === Object.prototype.toString.call(e);
|
|
1156
|
+
})(e);
|
|
1157
|
+
}
|
|
1158
|
+
function k(e) {
|
|
1159
|
+
return e < 16 ? "0" + e.toString(16) : e.toString(16);
|
|
1160
|
+
}
|
|
1161
|
+
function T(e) {
|
|
1162
|
+
for (var t = [], n = 0; n < e.length; n++) {
|
|
1163
|
+
var r = e.charCodeAt(n);
|
|
1164
|
+
if (r <= 127) t.push(e.charCodeAt(n));else for (var o = n, i = (55296 <= r && r <= 57343 && n++, encodeURIComponent(e.slice(o, n + 1)).substr(1).split("%")), u = 0; u < i.length; u++) t.push(parseInt(i[u], 16));
|
|
1165
|
+
}
|
|
1166
|
+
return t;
|
|
1167
|
+
}
|
|
1168
|
+
function M(e) {
|
|
1169
|
+
return a.toByteArray(e);
|
|
1170
|
+
}
|
|
1171
|
+
function c(e, t, n, r) {
|
|
1172
|
+
for (var o = 0; o < r && !(o + n >= t.length || o >= e.length); o++) t[o + n] = e[o];
|
|
1173
|
+
return o;
|
|
1174
|
+
}
|
|
1175
|
+
function N(e) {
|
|
1176
|
+
try {
|
|
1177
|
+
return decodeURIComponent(e);
|
|
1178
|
+
} catch (e) {
|
|
1179
|
+
return String.fromCharCode(65533);
|
|
1180
|
+
}
|
|
1181
|
+
}
|
|
1182
|
+
function Y(e, t) {
|
|
1183
|
+
d("number" == typeof e, "cannot write a non-number as a number"), d(0 <= e, "specified a negative value for writing an unsigned value"), d(e <= t, "value is larger than maximum value for type"), d(Math.floor(e) === e, "value has a fractional component");
|
|
1184
|
+
}
|
|
1185
|
+
function F(e, t, n) {
|
|
1186
|
+
d("number" == typeof e, "cannot write a non-number as a number"), d(e <= t, "value larger than maximum allowed value"), d(n <= e, "value smaller than minimum allowed value"), d(Math.floor(e) === e, "value has a fractional component");
|
|
1187
|
+
}
|
|
1188
|
+
function D(e, t, n) {
|
|
1189
|
+
d("number" == typeof e, "cannot write a non-number as a number"), d(e <= t, "value larger than maximum allowed value"), d(n <= e, "value smaller than minimum allowed value");
|
|
1190
|
+
}
|
|
1191
|
+
function d(e, t) {
|
|
1192
|
+
if (!e) throw new Error(t || "Failed assertion");
|
|
1193
|
+
}
|
|
1194
|
+
f._augment = function (e) {
|
|
1195
|
+
return e._isBuffer = true, e._get = e.get, e._set = e.set, e.get = t.get, e.set = t.set, e.write = t.write, e.toString = t.toString, e.toLocaleString = t.toString, e.toJSON = t.toJSON, e.copy = t.copy, e.slice = t.slice, e.readUInt8 = t.readUInt8, e.readUInt16LE = t.readUInt16LE, e.readUInt16BE = t.readUInt16BE, e.readUInt32LE = t.readUInt32LE, e.readUInt32BE = t.readUInt32BE, e.readInt8 = t.readInt8, e.readInt16LE = t.readInt16LE, e.readInt16BE = t.readInt16BE, e.readInt32LE = t.readInt32LE, e.readInt32BE = t.readInt32BE, e.readFloatLE = t.readFloatLE, e.readFloatBE = t.readFloatBE, e.readDoubleLE = t.readDoubleLE, e.readDoubleBE = t.readDoubleBE, e.writeUInt8 = t.writeUInt8, e.writeUInt16LE = t.writeUInt16LE, e.writeUInt16BE = t.writeUInt16BE, e.writeUInt32LE = t.writeUInt32LE, e.writeUInt32BE = t.writeUInt32BE, e.writeInt8 = t.writeInt8, e.writeInt16LE = t.writeInt16LE, e.writeInt16BE = t.writeInt16BE, e.writeInt32LE = t.writeInt32LE, e.writeInt32BE = t.writeInt32BE, e.writeFloatLE = t.writeFloatLE, e.writeFloatBE = t.writeFloatBE, e.writeDoubleLE = t.writeDoubleLE, e.writeDoubleBE = t.writeDoubleBE, e.fill = t.fill, e.inspect = t.inspect, e.toArrayBuffer = t.toArrayBuffer, e;
|
|
1196
|
+
};
|
|
1197
|
+
}.call(this, O("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, O("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/buffer/index.js", "/node_modules/gulp-browserify/node_modules/buffer");
|
|
1198
|
+
}, {
|
|
1199
|
+
"base64-js": 2,
|
|
1200
|
+
buffer: 3,
|
|
1201
|
+
ieee754: 10,
|
|
1202
|
+
lYpoI2: 11
|
|
1203
|
+
}],
|
|
1204
|
+
4: [function (c, d, e) {
|
|
1205
|
+
!function (e, t, a, n, r, o, i, u, s) {
|
|
1206
|
+
var a = c("buffer").Buffer,
|
|
1207
|
+
f = 4,
|
|
1208
|
+
l = new a(f);
|
|
1209
|
+
l.fill(0);
|
|
1210
|
+
d.exports = {
|
|
1211
|
+
hash: function (e, t, n, r) {
|
|
1212
|
+
for (var o = t(function (e, t) {
|
|
1213
|
+
e.length % f != 0 && (n = e.length + (f - e.length % f), e = a.concat([e, l], n));
|
|
1214
|
+
for (var n, r = [], o = t ? e.readInt32BE : e.readInt32LE, i = 0; i < e.length; i += f) r.push(o.call(e, i));
|
|
1215
|
+
return r;
|
|
1216
|
+
}(e = a.isBuffer(e) ? e : new a(e), r), 8 * e.length), t = r, i = new a(n), u = t ? i.writeInt32BE : i.writeInt32LE, s = 0; s < o.length; s++) u.call(i, o[s], 4 * s, true);
|
|
1217
|
+
return i;
|
|
1218
|
+
}
|
|
1219
|
+
};
|
|
1220
|
+
}.call(this, c("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, c("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/helpers.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify");
|
|
1221
|
+
}, {
|
|
1222
|
+
buffer: 3,
|
|
1223
|
+
lYpoI2: 11
|
|
1224
|
+
}],
|
|
1225
|
+
5: [function (v, e, _) {
|
|
1226
|
+
!function (l, c, u, d, h, p, g, y, w) {
|
|
1227
|
+
var u = v("buffer").Buffer,
|
|
1228
|
+
e = v("./sha"),
|
|
1229
|
+
t = v("./sha256"),
|
|
1230
|
+
n = v("./rng"),
|
|
1231
|
+
b = {
|
|
1232
|
+
sha1: e,
|
|
1233
|
+
sha256: t,
|
|
1234
|
+
md5: v("./md5")
|
|
1235
|
+
},
|
|
1236
|
+
s = 64,
|
|
1237
|
+
a = new u(s);
|
|
1238
|
+
function r(e, n) {
|
|
1239
|
+
var r = b[e = e || "sha1"],
|
|
1240
|
+
o = [];
|
|
1241
|
+
return r || i("algorithm:", e, "is not yet supported"), {
|
|
1242
|
+
update: function (e) {
|
|
1243
|
+
return u.isBuffer(e) || (e = new u(e)), o.push(e), e.length, this;
|
|
1244
|
+
},
|
|
1245
|
+
digest: function (e) {
|
|
1246
|
+
var t = u.concat(o),
|
|
1247
|
+
t = n ? function (e, t, n) {
|
|
1248
|
+
u.isBuffer(t) || (t = new u(t)), u.isBuffer(n) || (n = new u(n)), t.length > s ? t = e(t) : t.length < s && (t = u.concat([t, a], s));
|
|
1249
|
+
for (var r = new u(s), o = new u(s), i = 0; i < s; i++) r[i] = 54 ^ t[i], o[i] = 92 ^ t[i];
|
|
1250
|
+
return n = e(u.concat([r, n])), e(u.concat([o, n]));
|
|
1251
|
+
}(r, n, t) : r(t);
|
|
1252
|
+
return o = null, e ? t.toString(e) : t;
|
|
1253
|
+
}
|
|
1254
|
+
};
|
|
1255
|
+
}
|
|
1256
|
+
function i() {
|
|
1257
|
+
var e = [].slice.call(arguments).join(" ");
|
|
1258
|
+
throw new Error([e, "we accept pull requests", "http://github.com/dominictarr/crypto-browserify"].join("\n"));
|
|
1259
|
+
}
|
|
1260
|
+
a.fill(0), _.createHash = function (e) {
|
|
1261
|
+
return r(e);
|
|
1262
|
+
}, _.createHmac = r, _.randomBytes = function (e, t) {
|
|
1263
|
+
if (!t || !t.call) return new u(n(e));
|
|
1264
|
+
try {
|
|
1265
|
+
t.call(this, void 0, new u(n(e)));
|
|
1266
|
+
} catch (e) {
|
|
1267
|
+
t(e);
|
|
1268
|
+
}
|
|
1269
|
+
};
|
|
1270
|
+
var o,
|
|
1271
|
+
f = ["createCredentials", "createCipher", "createCipheriv", "createDecipher", "createDecipheriv", "createSign", "createVerify", "createDiffieHellman", "pbkdf2"],
|
|
1272
|
+
m = function (e) {
|
|
1273
|
+
_[e] = function () {
|
|
1274
|
+
i("sorry,", e, "is not implemented yet");
|
|
1275
|
+
};
|
|
1276
|
+
};
|
|
1277
|
+
for (o in f) m(f[o]);
|
|
1278
|
+
}.call(this, v("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, v("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/index.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify");
|
|
1279
|
+
}, {
|
|
1280
|
+
"./md5": 6,
|
|
1281
|
+
"./rng": 7,
|
|
1282
|
+
"./sha": 8,
|
|
1283
|
+
"./sha256": 9,
|
|
1284
|
+
buffer: 3,
|
|
1285
|
+
lYpoI2: 11
|
|
1286
|
+
}],
|
|
1287
|
+
6: [function (w, b, e) {
|
|
1288
|
+
!function (e, r, o, i, u, a, f, l, y) {
|
|
1289
|
+
var t = w("./helpers");
|
|
1290
|
+
function n(e, t) {
|
|
1291
|
+
e[t >> 5] |= 128 << t % 32, e[14 + (t + 64 >>> 9 << 4)] = t;
|
|
1292
|
+
for (var n = 1732584193, r = -271733879, o = -1732584194, i = 271733878, u = 0; u < e.length; u += 16) {
|
|
1293
|
+
var s = n,
|
|
1294
|
+
a = r,
|
|
1295
|
+
f = o,
|
|
1296
|
+
l = i,
|
|
1297
|
+
n = c(n, r, o, i, e[u + 0], 7, -680876936),
|
|
1298
|
+
i = c(i, n, r, o, e[u + 1], 12, -389564586),
|
|
1299
|
+
o = c(o, i, n, r, e[u + 2], 17, 606105819),
|
|
1300
|
+
r = c(r, o, i, n, e[u + 3], 22, -1044525330);
|
|
1301
|
+
n = c(n, r, o, i, e[u + 4], 7, -176418897), i = c(i, n, r, o, e[u + 5], 12, 1200080426), o = c(o, i, n, r, e[u + 6], 17, -1473231341), r = c(r, o, i, n, e[u + 7], 22, -45705983), n = c(n, r, o, i, e[u + 8], 7, 1770035416), i = c(i, n, r, o, e[u + 9], 12, -1958414417), o = c(o, i, n, r, e[u + 10], 17, -42063), r = c(r, o, i, n, e[u + 11], 22, -1990404162), n = c(n, r, o, i, e[u + 12], 7, 1804603682), i = c(i, n, r, o, e[u + 13], 12, -40341101), o = c(o, i, n, r, e[u + 14], 17, -1502002290), n = d(n, r = c(r, o, i, n, e[u + 15], 22, 1236535329), o, i, e[u + 1], 5, -165796510), i = d(i, n, r, o, e[u + 6], 9, -1069501632), o = d(o, i, n, r, e[u + 11], 14, 643717713), r = d(r, o, i, n, e[u + 0], 20, -373897302), n = d(n, r, o, i, e[u + 5], 5, -701558691), i = d(i, n, r, o, e[u + 10], 9, 38016083), o = d(o, i, n, r, e[u + 15], 14, -660478335), r = d(r, o, i, n, e[u + 4], 20, -405537848), n = d(n, r, o, i, e[u + 9], 5, 568446438), i = d(i, n, r, o, e[u + 14], 9, -1019803690), o = d(o, i, n, r, e[u + 3], 14, -187363961), r = d(r, o, i, n, e[u + 8], 20, 1163531501), n = d(n, r, o, i, e[u + 13], 5, -1444681467), i = d(i, n, r, o, e[u + 2], 9, -51403784), o = d(o, i, n, r, e[u + 7], 14, 1735328473), n = h(n, r = d(r, o, i, n, e[u + 12], 20, -1926607734), o, i, e[u + 5], 4, -378558), i = h(i, n, r, o, e[u + 8], 11, -2022574463), o = h(o, i, n, r, e[u + 11], 16, 1839030562), r = h(r, o, i, n, e[u + 14], 23, -35309556), n = h(n, r, o, i, e[u + 1], 4, -1530992060), i = h(i, n, r, o, e[u + 4], 11, 1272893353), o = h(o, i, n, r, e[u + 7], 16, -155497632), r = h(r, o, i, n, e[u + 10], 23, -1094730640), n = h(n, r, o, i, e[u + 13], 4, 681279174), i = h(i, n, r, o, e[u + 0], 11, -358537222), o = h(o, i, n, r, e[u + 3], 16, -722521979), r = h(r, o, i, n, e[u + 6], 23, 76029189), n = h(n, r, o, i, e[u + 9], 4, -640364487), i = h(i, n, r, o, e[u + 12], 11, -421815835), o = h(o, i, n, r, e[u + 15], 16, 530742520), n = p(n, r = h(r, o, i, n, e[u + 2], 23, -995338651), o, i, e[u + 0], 6, -198630844), i = p(i, n, r, o, e[u + 7], 10, 1126891415), o = p(o, i, n, r, e[u + 14], 15, -1416354905), r = p(r, o, i, n, e[u + 5], 21, -57434055), n = p(n, r, o, i, e[u + 12], 6, 1700485571), i = p(i, n, r, o, e[u + 3], 10, -1894986606), o = p(o, i, n, r, e[u + 10], 15, -1051523), r = p(r, o, i, n, e[u + 1], 21, -2054922799), n = p(n, r, o, i, e[u + 8], 6, 1873313359), i = p(i, n, r, o, e[u + 15], 10, -30611744), o = p(o, i, n, r, e[u + 6], 15, -1560198380), r = p(r, o, i, n, e[u + 13], 21, 1309151649), n = p(n, r, o, i, e[u + 4], 6, -145523070), i = p(i, n, r, o, e[u + 11], 10, -1120210379), o = p(o, i, n, r, e[u + 2], 15, 718787259), r = p(r, o, i, n, e[u + 9], 21, -343485551), n = g(n, s), r = g(r, a), o = g(o, f), i = g(i, l);
|
|
1302
|
+
}
|
|
1303
|
+
return Array(n, r, o, i);
|
|
1304
|
+
}
|
|
1305
|
+
function s(e, t, n, r, o, i) {
|
|
1306
|
+
return g((t = g(g(t, e), g(r, i))) << o | t >>> 32 - o, n);
|
|
1307
|
+
}
|
|
1308
|
+
function c(e, t, n, r, o, i, u) {
|
|
1309
|
+
return s(t & n | ~t & r, e, t, o, i, u);
|
|
1310
|
+
}
|
|
1311
|
+
function d(e, t, n, r, o, i, u) {
|
|
1312
|
+
return s(t & r | n & ~r, e, t, o, i, u);
|
|
1313
|
+
}
|
|
1314
|
+
function h(e, t, n, r, o, i, u) {
|
|
1315
|
+
return s(t ^ n ^ r, e, t, o, i, u);
|
|
1316
|
+
}
|
|
1317
|
+
function p(e, t, n, r, o, i, u) {
|
|
1318
|
+
return s(n ^ (t | ~r), e, t, o, i, u);
|
|
1319
|
+
}
|
|
1320
|
+
function g(e, t) {
|
|
1321
|
+
var n = (65535 & e) + (65535 & t);
|
|
1322
|
+
return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n;
|
|
1323
|
+
}
|
|
1324
|
+
b.exports = function (e) {
|
|
1325
|
+
return t.hash(e, n, 16);
|
|
1326
|
+
};
|
|
1327
|
+
}.call(this, w("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, w("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify");
|
|
1328
|
+
}, {
|
|
1329
|
+
"./helpers": 4,
|
|
1330
|
+
buffer: 3,
|
|
1331
|
+
lYpoI2: 11
|
|
1332
|
+
}],
|
|
1333
|
+
7: [function (e, l, t) {
|
|
1334
|
+
!function (e, t, n, r, o, i, u, s, f) {
|
|
1335
|
+
l.exports = function (e) {
|
|
1336
|
+
for (var t, n = new Array(e), r = 0; r < e; r++) 0 == (3 & r) && (t = 4294967296 * Math.random()), n[r] = t >>> ((3 & r) << 3) & 255;
|
|
1337
|
+
return n;
|
|
1338
|
+
};
|
|
1339
|
+
}.call(this, e("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify");
|
|
1340
|
+
}, {
|
|
1341
|
+
buffer: 3,
|
|
1342
|
+
lYpoI2: 11
|
|
1343
|
+
}],
|
|
1344
|
+
8: [function (c, d, e) {
|
|
1345
|
+
!function (e, t, n, r, o, s, a, f, l) {
|
|
1346
|
+
var i = c("./helpers");
|
|
1347
|
+
function u(l, c) {
|
|
1348
|
+
l[c >> 5] |= 128 << 24 - c % 32, l[15 + (c + 64 >> 9 << 4)] = c;
|
|
1349
|
+
for (var e, t, n, r = Array(80), o = 1732584193, i = -271733879, u = -1732584194, s = 271733878, d = -1009589776, h = 0; h < l.length; h += 16) {
|
|
1350
|
+
for (var p = o, g = i, y = u, w = s, b = d, a = 0; a < 80; a++) {
|
|
1351
|
+
r[a] = a < 16 ? l[h + a] : v(r[a - 3] ^ r[a - 8] ^ r[a - 14] ^ r[a - 16], 1);
|
|
1352
|
+
var f = m(m(v(o, 5), (f = i, t = u, n = s, (e = a) < 20 ? f & t | ~f & n : !(e < 40) && e < 60 ? f & t | f & n | t & n : f ^ t ^ n)), m(m(d, r[a]), (e = a) < 20 ? 1518500249 : e < 40 ? 1859775393 : e < 60 ? -1894007588 : -899497514)),
|
|
1353
|
+
d = s,
|
|
1354
|
+
s = u,
|
|
1355
|
+
u = v(i, 30),
|
|
1356
|
+
i = o,
|
|
1357
|
+
o = f;
|
|
1358
|
+
}
|
|
1359
|
+
o = m(o, p), i = m(i, g), u = m(u, y), s = m(s, w), d = m(d, b);
|
|
1360
|
+
}
|
|
1361
|
+
return Array(o, i, u, s, d);
|
|
1362
|
+
}
|
|
1363
|
+
function m(e, t) {
|
|
1364
|
+
var n = (65535 & e) + (65535 & t);
|
|
1365
|
+
return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n;
|
|
1366
|
+
}
|
|
1367
|
+
function v(e, t) {
|
|
1368
|
+
return e << t | e >>> 32 - t;
|
|
1369
|
+
}
|
|
1370
|
+
d.exports = function (e) {
|
|
1371
|
+
return i.hash(e, u, 20, true);
|
|
1372
|
+
};
|
|
1373
|
+
}.call(this, c("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, c("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify");
|
|
1374
|
+
}, {
|
|
1375
|
+
"./helpers": 4,
|
|
1376
|
+
buffer: 3,
|
|
1377
|
+
lYpoI2: 11
|
|
1378
|
+
}],
|
|
1379
|
+
9: [function (c, d, e) {
|
|
1380
|
+
!function (e, t, n, r, u, s, a, f, l) {
|
|
1381
|
+
function b(e, t) {
|
|
1382
|
+
var n = (65535 & e) + (65535 & t);
|
|
1383
|
+
return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n;
|
|
1384
|
+
}
|
|
1385
|
+
function o(e, l) {
|
|
1386
|
+
var c,
|
|
1387
|
+
d = new Array(1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298),
|
|
1388
|
+
t = new Array(1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225),
|
|
1389
|
+
n = new Array(64);
|
|
1390
|
+
e[l >> 5] |= 128 << 24 - l % 32, e[15 + (l + 64 >> 9 << 4)] = l;
|
|
1391
|
+
for (var r, o, h = 0; h < e.length; h += 16) {
|
|
1392
|
+
for (var i = t[0], u = t[1], s = t[2], p = t[3], a = t[4], g = t[5], y = t[6], w = t[7], f = 0; f < 64; f++) n[f] = f < 16 ? e[f + h] : b(b(b((o = n[f - 2], m(o, 17) ^ m(o, 19) ^ v(o, 10)), n[f - 7]), (o = n[f - 15], m(o, 7) ^ m(o, 18) ^ v(o, 3))), n[f - 16]), c = b(b(b(b(w, m(o = a, 6) ^ m(o, 11) ^ m(o, 25)), a & g ^ ~a & y), d[f]), n[f]), r = b(m(r = i, 2) ^ m(r, 13) ^ m(r, 22), i & u ^ i & s ^ u & s), w = y, y = g, g = a, a = b(p, c), p = s, s = u, u = i, i = b(c, r);
|
|
1393
|
+
t[0] = b(i, t[0]), t[1] = b(u, t[1]), t[2] = b(s, t[2]), t[3] = b(p, t[3]), t[4] = b(a, t[4]), t[5] = b(g, t[5]), t[6] = b(y, t[6]), t[7] = b(w, t[7]);
|
|
1394
|
+
}
|
|
1395
|
+
return t;
|
|
1396
|
+
}
|
|
1397
|
+
var i = c("./helpers"),
|
|
1398
|
+
m = function (e, t) {
|
|
1399
|
+
return e >>> t | e << 32 - t;
|
|
1400
|
+
},
|
|
1401
|
+
v = function (e, t) {
|
|
1402
|
+
return e >>> t;
|
|
1403
|
+
};
|
|
1404
|
+
d.exports = function (e) {
|
|
1405
|
+
return i.hash(e, o, 32, true);
|
|
1406
|
+
};
|
|
1407
|
+
}.call(this, c("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, c("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify");
|
|
1408
|
+
}, {
|
|
1409
|
+
"./helpers": 4,
|
|
1410
|
+
buffer: 3,
|
|
1411
|
+
lYpoI2: 11
|
|
1412
|
+
}],
|
|
1413
|
+
10: [function (e, t, f) {
|
|
1414
|
+
!function (e, t, n, r, o, i, u, s, a) {
|
|
1415
|
+
f.read = function (e, t, n, r, o) {
|
|
1416
|
+
var i,
|
|
1417
|
+
u,
|
|
1418
|
+
l = 8 * o - r - 1,
|
|
1419
|
+
c = (1 << l) - 1,
|
|
1420
|
+
d = c >> 1,
|
|
1421
|
+
s = -7,
|
|
1422
|
+
a = n ? o - 1 : 0,
|
|
1423
|
+
f = n ? -1 : 1,
|
|
1424
|
+
o = e[t + a];
|
|
1425
|
+
for (a += f, i = o & (1 << -s) - 1, o >>= -s, s += l; 0 < s; i = 256 * i + e[t + a], a += f, s -= 8);
|
|
1426
|
+
for (u = i & (1 << -s) - 1, i >>= -s, s += r; 0 < s; u = 256 * u + e[t + a], a += f, s -= 8);
|
|
1427
|
+
if (0 === i) i = 1 - d;else {
|
|
1428
|
+
if (i === c) return u ? NaN : 1 / 0 * (o ? -1 : 1);
|
|
1429
|
+
u += Math.pow(2, r), i -= d;
|
|
1430
|
+
}
|
|
1431
|
+
return (o ? -1 : 1) * u * Math.pow(2, i - r);
|
|
1432
|
+
}, f.write = function (e, t, l, n, r, c) {
|
|
1433
|
+
var o,
|
|
1434
|
+
i,
|
|
1435
|
+
u = 8 * c - r - 1,
|
|
1436
|
+
s = (1 << u) - 1,
|
|
1437
|
+
a = s >> 1,
|
|
1438
|
+
d = 23 === r ? Math.pow(2, -24) - Math.pow(2, -77) : 0,
|
|
1439
|
+
f = n ? 0 : c - 1,
|
|
1440
|
+
h = n ? 1 : -1,
|
|
1441
|
+
c = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0;
|
|
1442
|
+
for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (i = isNaN(t) ? 1 : 0, o = s) : (o = Math.floor(Math.log(t) / Math.LN2), t * (n = Math.pow(2, -o)) < 1 && (o--, n *= 2), 2 <= (t += 1 <= o + a ? d / n : d * Math.pow(2, 1 - a)) * n && (o++, n /= 2), s <= o + a ? (i = 0, o = s) : 1 <= o + a ? (i = (t * n - 1) * Math.pow(2, r), o += a) : (i = t * Math.pow(2, a - 1) * Math.pow(2, r), o = 0)); 8 <= r; e[l + f] = 255 & i, f += h, i /= 256, r -= 8);
|
|
1443
|
+
for (o = o << r | i, u += r; 0 < u; e[l + f] = 255 & o, f += h, o /= 256, u -= 8);
|
|
1444
|
+
e[l + f - h] |= 128 * c;
|
|
1445
|
+
};
|
|
1446
|
+
}.call(this, e("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/ieee754/index.js", "/node_modules/gulp-browserify/node_modules/ieee754");
|
|
1447
|
+
}, {
|
|
1448
|
+
buffer: 3,
|
|
1449
|
+
lYpoI2: 11
|
|
1450
|
+
}],
|
|
1451
|
+
11: [function (e, h, t) {
|
|
1452
|
+
!function (e, t, n, r, o, f, l, c, d) {
|
|
1453
|
+
var i, u, s;
|
|
1454
|
+
function a() {}
|
|
1455
|
+
(e = h.exports = {}).nextTick = (u = "undefined" != typeof window && window.setImmediate, s = "undefined" != typeof window && window.postMessage && window.addEventListener, u ? function (e) {
|
|
1456
|
+
return window.setImmediate(e);
|
|
1457
|
+
} : s ? (i = [], window.addEventListener("message", function (e) {
|
|
1458
|
+
var t = e.source;
|
|
1459
|
+
t !== window && null !== t || "process-tick" !== e.data || (e.stopPropagation(), 0 < i.length && i.shift()());
|
|
1460
|
+
}, true), function (e) {
|
|
1461
|
+
i.push(e), window.postMessage("process-tick", "*");
|
|
1462
|
+
}) : function (e) {
|
|
1463
|
+
setTimeout(e, 0);
|
|
1464
|
+
}), e.title = "browser", e.browser = true, e.env = {}, e.argv = [], e.on = a, e.addListener = a, e.once = a, e.off = a, e.removeListener = a, e.removeAllListeners = a, e.emit = a, e.binding = function (e) {
|
|
1465
|
+
throw new Error("process.binding is not supported");
|
|
1466
|
+
}, e.cwd = function () {
|
|
1467
|
+
return "/";
|
|
1468
|
+
}, e.chdir = function (e) {
|
|
1469
|
+
throw new Error("process.chdir is not supported");
|
|
1470
|
+
};
|
|
1471
|
+
}.call(this, e("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/process/browser.js", "/node_modules/gulp-browserify/node_modules/process");
|
|
1472
|
+
}, {
|
|
1473
|
+
buffer: 3,
|
|
1474
|
+
lYpoI2: 11
|
|
1475
|
+
}]
|
|
1476
|
+
}, {}, [1])(1);
|
|
1477
|
+
});
|
|
1478
|
+
})(object_hash);
|
|
1479
|
+
return object_hash.exports;
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
var object_hashExports = requireObject_hash();
|
|
1483
|
+
var objectHash = /*@__PURE__*/getDefaultExportFromCjs(object_hashExports);
|
|
1484
|
+
|
|
1485
|
+
class Utils {
|
|
1486
|
+
/**
|
|
1487
|
+
* Returns a deterministic SHA-1 hex digest for any plain object.
|
|
1488
|
+
*
|
|
1489
|
+
* Key ordering is irrelevant — `{a:1, b:2}` and `{b:2, a:1}` produce the
|
|
1490
|
+
* same hash. Powered by `object-hash`, which handles nested objects,
|
|
1491
|
+
* arrays, and all primitive types correctly.
|
|
1492
|
+
*/
|
|
1493
|
+
static hash(obj) {
|
|
1494
|
+
return objectHash(obj, {
|
|
1495
|
+
respectType: false,
|
|
1496
|
+
unorderedObjects: true
|
|
1497
|
+
});
|
|
1498
|
+
}
|
|
1499
|
+
/**
|
|
1500
|
+
* Formats a timestamp in milliseconds to a human-readable time string.
|
|
1501
|
+
* @param ms - The timestamp in milliseconds.
|
|
1502
|
+
* @returns The formatted time string.
|
|
1503
|
+
*/
|
|
1504
|
+
static formatTimestamp(ms) {
|
|
1505
|
+
return new Date(ms).toLocaleTimeString([], {
|
|
1506
|
+
hour: "2-digit",
|
|
1507
|
+
minute: "2-digit",
|
|
1508
|
+
timeZone: "UTC"
|
|
1509
|
+
});
|
|
1510
|
+
}
|
|
1511
|
+
/**
|
|
1512
|
+
* Returns the base WebSocket URL for the given account ID.
|
|
1513
|
+
* @param accountId - The account ID to get the base WebSocket URL for.
|
|
1514
|
+
* @returns The base WebSocket URL.
|
|
1515
|
+
*/
|
|
1516
|
+
static getWssBaseUrl(accountId) {
|
|
1517
|
+
// return `wss://ai-assist.in.exotel.com/ai-assist/accounts/${accountId}/one-assistant-event-publisher`;
|
|
1518
|
+
// return `wss://oneassist-uat.in.exotel.com/ai-assist/one-assistant-event-publisher/${accountId}`;
|
|
1519
|
+
return `wss://oneassist-uat.in.exotel.com/ai-assist/ws/v1/accounts/${accountId}/ai-assistants/conversation-events`;
|
|
1520
|
+
}
|
|
1521
|
+
/**
|
|
1522
|
+
* Builds a WebSocket URL from the given parameters.
|
|
1523
|
+
* @param params - The parameters to build the WebSocket URL from.
|
|
1524
|
+
* @returns The WebSocket URL.
|
|
1525
|
+
*/
|
|
1526
|
+
static buildWsUrl(params) {
|
|
1527
|
+
const {
|
|
1528
|
+
wssBaseUrl
|
|
1529
|
+
} = params;
|
|
1530
|
+
const resolved = wssBaseUrl !== null && wssBaseUrl !== void 0 ? wssBaseUrl : Utils.getWssBaseUrl(params.accountId);
|
|
1531
|
+
const base = resolved.endsWith("/") ? resolved.slice(0, -1) : resolved;
|
|
1532
|
+
const query = Utils.constructQueryParams(params);
|
|
1533
|
+
return `${base}?${query}`;
|
|
1534
|
+
}
|
|
1535
|
+
static constructQueryParams(params) {
|
|
1536
|
+
// Keys consumed by the library — never forwarded to the server.
|
|
1537
|
+
const INTERNAL_KEYS = new Set(["authToken", "accountId", "wssBaseUrl", "reconnectInterval", "maxReconnectAttempts"]);
|
|
1538
|
+
// Mandatory server params remapped to the names the API expects.
|
|
1539
|
+
// accountId is embedded in the URL path — never sent as a query param.
|
|
1540
|
+
const mandatory = [["access_token", String(params.authToken)]];
|
|
1541
|
+
if (params.call_sid !== undefined && params.call_sid !== null) {
|
|
1542
|
+
mandatory.push(["call_sid", String(params.call_sid)]);
|
|
1543
|
+
}
|
|
1544
|
+
// Extra caller-supplied params, excluding internals and already-mapped keys.
|
|
1545
|
+
const extra = Object.entries(params).filter(([k, v]) => !INTERNAL_KEYS.has(k) && k !== "call_sid" && v !== undefined && v !== null).map(([k, v]) => [k, String(v)]);
|
|
1546
|
+
// Build the query string by appending each pair individually.
|
|
1547
|
+
// Passing an array-of-arrays to the URLSearchParams constructor is not
|
|
1548
|
+
// reliable in all environments — some fall back to treating the outer
|
|
1549
|
+
// array as a plain object, turning index 0 into a key and the inner
|
|
1550
|
+
// array's toString() (comma-joined) into the value.
|
|
1551
|
+
const query = new URLSearchParams();
|
|
1552
|
+
[...mandatory, ...extra].forEach(([k, v]) => query.append(k, v));
|
|
1553
|
+
return query.toString();
|
|
1554
|
+
}
|
|
1555
|
+
/**
|
|
1556
|
+
* Returns a unique ID string.
|
|
1557
|
+
*
|
|
1558
|
+
* If the browser supports `crypto.randomUUID`, it uses that. Otherwise, it
|
|
1559
|
+
* falls back to a simple timestamp-based ID.
|
|
1560
|
+
* @returns A unique ID string.
|
|
1561
|
+
*/
|
|
1562
|
+
static getUniqueId() {
|
|
1563
|
+
if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
|
|
1564
|
+
return crypto.randomUUID();
|
|
1565
|
+
}
|
|
1566
|
+
return `${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
1567
|
+
}
|
|
1568
|
+
}
|
|
1569
|
+
Utils.MAX_EXTRA_QUERY_PARAMS = 3;
|
|
1570
|
+
|
|
1571
|
+
class ExotelAIAssistController extends EventEmitter {
|
|
1572
|
+
constructor(params) {
|
|
1573
|
+
var _a, _b;
|
|
1574
|
+
super();
|
|
1575
|
+
this.transport = null;
|
|
1576
|
+
this.status = "idle";
|
|
1577
|
+
this.reconnectAttempt = 0;
|
|
1578
|
+
this.reconnectTimer = null;
|
|
1579
|
+
this.destroyed = false;
|
|
1580
|
+
this.params = Object.assign({}, params);
|
|
1581
|
+
this.reconnectInterval = (_a = params.reconnectInterval) !== null && _a !== void 0 ? _a : 3000;
|
|
1582
|
+
this.maxReconnectAttempts = (_b = params.maxReconnectAttempts) !== null && _b !== void 0 ? _b : 5;
|
|
1583
|
+
}
|
|
1584
|
+
connect() {
|
|
1585
|
+
if (this.destroyed) return;
|
|
1586
|
+
this._clearReconnectTimer();
|
|
1587
|
+
this._setStatus("connecting");
|
|
1588
|
+
this._ensureTransport();
|
|
1589
|
+
this.transport.connect(Utils.buildWsUrl(this.params), this.params.authToken);
|
|
1590
|
+
}
|
|
1591
|
+
disconnect() {
|
|
1592
|
+
var _a;
|
|
1593
|
+
this._clearReconnectTimer();
|
|
1594
|
+
(_a = this.transport) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
1595
|
+
this._setStatus("disconnected");
|
|
1596
|
+
}
|
|
1597
|
+
setParams(patch) {
|
|
1598
|
+
var _a, _b;
|
|
1599
|
+
const prev = this.params;
|
|
1600
|
+
this.params = Object.assign(Object.assign({}, prev), patch);
|
|
1601
|
+
const hash = Utils.hash(this.params);
|
|
1602
|
+
const prevHash = Utils.hash(prev);
|
|
1603
|
+
const hashChanged = hash !== prevHash;
|
|
1604
|
+
if (hashChanged) {
|
|
1605
|
+
this.reconnectAttempt = 0;
|
|
1606
|
+
this._clearReconnectTimer();
|
|
1607
|
+
// Destroy (not just disconnect) so the next _ensureTransport call creates
|
|
1608
|
+
// a new instance scoped to the new session hash.
|
|
1609
|
+
(_a = this.transport) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
1610
|
+
this.transport = null;
|
|
1611
|
+
this._setStatus("connecting");
|
|
1612
|
+
this._ensureTransport();
|
|
1613
|
+
this.transport.connect(Utils.buildWsUrl(this.params), this.params.authToken);
|
|
1614
|
+
} else if (this.status === "connected") {
|
|
1615
|
+
(_b = this.transport) === null || _b === void 0 ? void 0 : _b.send(JSON.stringify({
|
|
1616
|
+
type: "params_update",
|
|
1617
|
+
payload: patch
|
|
1618
|
+
}));
|
|
1619
|
+
}
|
|
1620
|
+
}
|
|
1621
|
+
destroy() {
|
|
1622
|
+
var _a;
|
|
1623
|
+
this.destroyed = true;
|
|
1624
|
+
this._clearReconnectTimer();
|
|
1625
|
+
(_a = this.transport) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
1626
|
+
this.transport = null;
|
|
1627
|
+
this.removeAllListeners();
|
|
1628
|
+
}
|
|
1629
|
+
getStatus() {
|
|
1630
|
+
return this.status;
|
|
1631
|
+
}
|
|
1632
|
+
_ensureTransport() {
|
|
1633
|
+
if (this.transport) return;
|
|
1634
|
+
this.transport = createTransport(Utils.hash(this.params));
|
|
1635
|
+
this.transport.onMessage(msg => this._handleTransportMessage(msg));
|
|
1636
|
+
}
|
|
1637
|
+
_handleTransportMessage(msg) {
|
|
1638
|
+
var _a;
|
|
1639
|
+
switch (msg.type) {
|
|
1640
|
+
case "CONNECTED":
|
|
1641
|
+
this.reconnectAttempt = 0;
|
|
1642
|
+
this._setStatus("connected");
|
|
1643
|
+
this.emit("onCallStart");
|
|
1644
|
+
break;
|
|
1645
|
+
case "DISCONNECTED":
|
|
1646
|
+
this._setStatus("disconnected");
|
|
1647
|
+
this.emit("onCallEnd");
|
|
1648
|
+
this._scheduleReconnect();
|
|
1649
|
+
break;
|
|
1650
|
+
case "ERROR":
|
|
1651
|
+
this._setStatus("error");
|
|
1652
|
+
this.emit("error", new Error((_a = msg.message) !== null && _a !== void 0 ? _a : "Unknown transport error"));
|
|
1653
|
+
break;
|
|
1654
|
+
case "MESSAGE":
|
|
1655
|
+
if (msg.payload) this._handleServerPayload(msg.payload);
|
|
1656
|
+
break;
|
|
1657
|
+
}
|
|
1658
|
+
}
|
|
1659
|
+
_handleServerPayload(raw) {
|
|
1660
|
+
let parsed;
|
|
1661
|
+
try {
|
|
1662
|
+
parsed = JSON.parse(raw);
|
|
1663
|
+
} catch (_a) {
|
|
1664
|
+
this.emit("error", new Error(`Failed to parse server message: ${raw}`));
|
|
1665
|
+
return;
|
|
1666
|
+
}
|
|
1667
|
+
this.emit("raw", parsed);
|
|
1668
|
+
if (parsed.config) {
|
|
1669
|
+
this.emit("botConfig", parsed.config);
|
|
1670
|
+
}
|
|
1671
|
+
const eventsRaw = parsed.events;
|
|
1672
|
+
if (!eventsRaw) return;
|
|
1673
|
+
const events = Array.isArray(eventsRaw) ? eventsRaw : [eventsRaw];
|
|
1674
|
+
const now = Date.now();
|
|
1675
|
+
for (const event of events) {
|
|
1676
|
+
if (!event) continue;
|
|
1677
|
+
if (event.transcript && event.transcript.length > 0) {
|
|
1678
|
+
const lines = event.transcript.map(msg => {
|
|
1679
|
+
var _a, _b;
|
|
1680
|
+
const first = (_a = msg.transcript_segments) === null || _a === void 0 ? void 0 : _a[0];
|
|
1681
|
+
const last = (_b = msg.transcript_segments) === null || _b === void 0 ? void 0 : _b[msg.transcript_segments.length - 1];
|
|
1682
|
+
return {
|
|
1683
|
+
id: String(msg.sequence),
|
|
1684
|
+
text: msg.transcript_segments.map(s => s.text).join(" "),
|
|
1685
|
+
startTime: (first === null || first === void 0 ? void 0 : first.start_timestamp) ? Date.parse(first.start_timestamp) : now,
|
|
1686
|
+
endTime: (last === null || last === void 0 ? void 0 : last.end_timestamp) ? Date.parse(last.end_timestamp) : now,
|
|
1687
|
+
isFinal: msg.transcript_segments.every(s => s.is_final)
|
|
1688
|
+
};
|
|
1689
|
+
});
|
|
1690
|
+
this.emit("transcript", lines);
|
|
1691
|
+
}
|
|
1692
|
+
if (event.event_type === "suggestion" && event.text) {
|
|
1693
|
+
const suggestion = {
|
|
1694
|
+
id: Utils.getUniqueId(),
|
|
1695
|
+
text: event.text,
|
|
1696
|
+
timestamp: now
|
|
1697
|
+
};
|
|
1698
|
+
this.emit("suggestion", suggestion);
|
|
1699
|
+
}
|
|
1700
|
+
if (event.event_type === "sentiment" && event.text) {
|
|
1701
|
+
const sentiment = {
|
|
1702
|
+
label: event.text.toLowerCase(),
|
|
1703
|
+
timestamp: now
|
|
1704
|
+
};
|
|
1705
|
+
this.emit("sentiment", sentiment);
|
|
1706
|
+
}
|
|
1707
|
+
}
|
|
1708
|
+
}
|
|
1709
|
+
_scheduleReconnect() {
|
|
1710
|
+
if (this.destroyed) return;
|
|
1711
|
+
if (this.status === "error") return;
|
|
1712
|
+
if (this.reconnectAttempt >= this.maxReconnectAttempts) {
|
|
1713
|
+
const err = new Error("MAX_RECONNECT_EXCEEDED");
|
|
1714
|
+
err.code = "MAX_RECONNECT_EXCEEDED";
|
|
1715
|
+
this.emit("error", err);
|
|
1716
|
+
return;
|
|
1717
|
+
}
|
|
1718
|
+
const delay = Math.min(this.reconnectInterval * Math.pow(2, this.reconnectAttempt), 30000);
|
|
1719
|
+
this.reconnectTimer = setTimeout(() => {
|
|
1720
|
+
var _a;
|
|
1721
|
+
if (this.destroyed) return;
|
|
1722
|
+
this.reconnectAttempt += 1;
|
|
1723
|
+
this._setStatus("connecting");
|
|
1724
|
+
(_a = this.transport) === null || _a === void 0 ? void 0 : _a.connect(Utils.buildWsUrl(this.params), this.params.authToken);
|
|
1725
|
+
}, delay);
|
|
1726
|
+
}
|
|
1727
|
+
_clearReconnectTimer() {
|
|
1728
|
+
if (this.reconnectTimer !== null) {
|
|
1729
|
+
clearTimeout(this.reconnectTimer);
|
|
1730
|
+
this.reconnectTimer = null;
|
|
1731
|
+
}
|
|
1732
|
+
}
|
|
1733
|
+
_setStatus(status) {
|
|
1734
|
+
if (this.status === status) return;
|
|
1735
|
+
this.status = status;
|
|
1736
|
+
this.emit("statusChange", status);
|
|
1737
|
+
}
|
|
1738
|
+
_log(...args) {
|
|
1739
|
+
console.log("[ExotelAIAssist]", ...args);
|
|
1740
|
+
}
|
|
1741
|
+
}
|
|
1742
|
+
|
|
1743
|
+
exports.ExotelAIAssistController = ExotelAIAssistController;
|