@catstral/levy-utils 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.
Files changed (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +912 -0
  3. package/dist/array/index.d.ts +7 -0
  4. package/dist/array/utils/cluster/index.d.ts +17 -0
  5. package/dist/array/utils/counting/index.d.ts +15 -0
  6. package/dist/array/utils/fork/index.d.ts +14 -0
  7. package/dist/array/utils/list/index.d.ts +65 -0
  8. package/dist/array/utils/select/index.d.ts +14 -0
  9. package/dist/array/utils/sift/index.d.ts +11 -0
  10. package/dist/array/utils/toggle/index.d.ts +34 -0
  11. package/dist/callback/index.d.ts +3 -0
  12. package/dist/callback/utils/chain/index.d.ts +31 -0
  13. package/dist/callback/utils/defer/index.d.ts +9 -0
  14. package/dist/callback/utils/retry/index.d.ts +30 -0
  15. package/dist/error.d.ts +4 -0
  16. package/dist/index.d.ts +8 -0
  17. package/dist/levyUtils.cjs +5 -0
  18. package/dist/levyUtils.js +1198 -0
  19. package/dist/misc/index.d.ts +5 -0
  20. package/dist/misc/utils/compute/index.d.ts +24 -0
  21. package/dist/misc/utils/isEmpty/index.d.ts +19 -0
  22. package/dist/misc/utils/isPrimitive/index.d.ts +18 -0
  23. package/dist/misc/utils/range/index.d.ts +89 -0
  24. package/dist/misc/utils/sleep/index.d.ts +9 -0
  25. package/dist/number/index.d.ts +2 -0
  26. package/dist/number/utils/toFloat/index.d.ts +10 -0
  27. package/dist/number/utils/toInt/index.d.ts +12 -0
  28. package/dist/object/index.d.ts +5 -0
  29. package/dist/object/utils/entries/index.d.ts +7 -0
  30. package/dist/object/utils/isObject/index.d.ts +9 -0
  31. package/dist/object/utils/keys/index.d.ts +4 -0
  32. package/dist/object/utils/omit/index.d.ts +12 -0
  33. package/dist/object/utils/pick/index.d.ts +12 -0
  34. package/dist/string/casing/index.d.ts +11 -0
  35. package/dist/string/casing/internal/splitCasing/index.d.ts +59 -0
  36. package/dist/string/casing/utils/camel/index.d.ts +27 -0
  37. package/dist/string/casing/utils/capitalize/index.d.ts +13 -0
  38. package/dist/string/casing/utils/custom/index.d.ts +42 -0
  39. package/dist/string/casing/utils/http/index.d.ts +27 -0
  40. package/dist/string/casing/utils/kebab/index.d.ts +48 -0
  41. package/dist/string/casing/utils/lower/index.d.ts +13 -0
  42. package/dist/string/casing/utils/pascal/index.d.ts +31 -0
  43. package/dist/string/casing/utils/snake/index.d.ts +48 -0
  44. package/dist/string/casing/utils/title/index.d.ts +27 -0
  45. package/dist/string/casing/utils/uncapitalize/index.d.ts +13 -0
  46. package/dist/string/casing/utils/upper/index.d.ts +13 -0
  47. package/dist/string/index.d.ts +4 -0
  48. package/dist/string/utils/parseUrlParams/index.d.ts +4 -0
  49. package/dist/string/utils/slug/index.d.ts +1 -0
  50. package/dist/string/utils/textDifference/index.d.ts +133 -0
  51. package/dist/types.d.ts +3 -0
  52. package/package.json +63 -0
@@ -0,0 +1,1198 @@
1
+ //#region \0rolldown/runtime.js
2
+ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescriptor, r = Object.getOwnPropertyNames, i = Object.getPrototypeOf, a = Object.prototype.hasOwnProperty, o = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), s = (e, i, o, s) => {
3
+ if (i && typeof i == "object" || typeof i == "function") for (var c = r(i), l = 0, u = c.length, d; l < u; l++) d = c[l], !a.call(e, d) && d !== o && t(e, d, {
4
+ get: ((e) => i[e]).bind(null, d),
5
+ enumerable: !(s = n(i, d)) || s.enumerable
6
+ });
7
+ return e;
8
+ }, c = (n, r, o) => (o = n == null ? {} : e(i(n)), s(r || !n || !n.__esModule || !a.call(n, "default") ? t(o, "default", {
9
+ value: n,
10
+ enumerable: !0
11
+ }) : o, n)), l = class extends Error {}, u = class extends l {
12
+ util = "cluster";
13
+ };
14
+ function d(e, t) {
15
+ if (t < 1) throw new u("Cluster size cannot be smaller than 1");
16
+ if (!Array.isArray(e)) throw new u("Items must be an array");
17
+ let n = [[]], r = 0;
18
+ for (let i of e) n[r].length < t ? n[r].push(i) : (r += 1, n[r] = [i]);
19
+ return n;
20
+ }
21
+ //#endregion
22
+ //#region lib/array/utils/counting/index.ts
23
+ function f(e, t) {
24
+ let n = {};
25
+ for (let r of e) {
26
+ let e = t(r);
27
+ n[e] = (n[e] ?? 0) + 1;
28
+ }
29
+ return n;
30
+ }
31
+ //#endregion
32
+ //#region lib/array/utils/fork/index.ts
33
+ function p(e, t) {
34
+ let n = [[], []];
35
+ for (let r of e) n[+!t(r)].push(r);
36
+ return n;
37
+ }
38
+ //#endregion
39
+ //#region lib/misc/utils/compute/index.ts
40
+ function m(e) {
41
+ return typeof e == "function";
42
+ }
43
+ function h(e, ...t) {
44
+ return m(e) ? e(...t) : e;
45
+ }
46
+ //#endregion
47
+ //#region lib/array/utils/list/index.ts
48
+ var g = class extends l {
49
+ util = "list";
50
+ };
51
+ function _(e, t, n) {
52
+ let r = typeof t == "number" ? e : 0, i = typeof t == "number" ? t : e, a = r > i;
53
+ if (n && typeof n.step == "number") {
54
+ if (n.step === 0) throw new g("Step cannot be 0, that would cause the list to become infinite");
55
+ if (a && n.step > 0) throw new g("Given start and end should cause the list to traverse negatively, but step is specified to traverse positively");
56
+ if (!a && n.step < 0) throw new g("Given start and end should cause the list to traverse positively, but step is specified to traverse negatively");
57
+ }
58
+ let o = [];
59
+ for (; a ? r >= i : r <= i;) n?.valueMapper === void 0 ? o.push(r) : o.push(h(n.valueMapper, r)), r += n?.step ?? (a ? -1 : 1);
60
+ return o;
61
+ }
62
+ //#endregion
63
+ //#region lib/array/utils/select/index.ts
64
+ function v(e, t, n) {
65
+ let r = [];
66
+ for (let [i, a] of e.entries()) if (t(a, i)) {
67
+ let e = n(a, r.length, i);
68
+ r.push(e);
69
+ }
70
+ return r;
71
+ }
72
+ //#endregion
73
+ //#region lib/array/utils/sift/index.ts
74
+ function y(e) {
75
+ return e.filter((e) => !!e);
76
+ }
77
+ //#endregion
78
+ //#region lib/array/utils/toggle/index.ts
79
+ function b(e, t, n) {
80
+ let r = (e) => n?.toKey?.(e) ?? e, i = e.findIndex((e) => r(e) === r(t)), a = [...e];
81
+ if (i === -1) switch (n?.strategy ?? "APPEND") {
82
+ case "APPEND":
83
+ a.push(t);
84
+ break;
85
+ case "PREPEND": a.unshift(t);
86
+ }
87
+ else a.splice(i, 1);
88
+ return a;
89
+ }
90
+ //#endregion
91
+ //#region lib/callback/utils/chain/index.ts
92
+ function x(...e) {
93
+ let t;
94
+ for (let n of e) t = n(t);
95
+ return t;
96
+ }
97
+ //#endregion
98
+ //#region lib/callback/utils/defer/index.ts
99
+ function S(e) {
100
+ setTimeout(() => {
101
+ e();
102
+ }, 0);
103
+ }
104
+ //#endregion
105
+ //#region lib/misc/utils/sleep/index.ts
106
+ async function C(e) {
107
+ return new Promise((t) => {
108
+ setTimeout(t, Math.max(e, 0));
109
+ });
110
+ }
111
+ //#endregion
112
+ //#region lib/callback/utils/retry/index.ts
113
+ var w = class extends l {
114
+ util = "retry";
115
+ };
116
+ async function T(e, t) {
117
+ let n = t?.attempts ?? 3, r = t?.backoff ?? !1, i = t?.delay ?? 1e3, a = 0;
118
+ for (;;) {
119
+ a += 1;
120
+ try {
121
+ return await e();
122
+ } catch (e) {
123
+ if (a >= n) throw new w("Callback failed too often, stopping retry loop", { cause: e });
124
+ t?.onRetry?.(e, a), await C(i);
125
+ }
126
+ r && (i *= 2);
127
+ }
128
+ }
129
+ //#endregion
130
+ //#region lib/error.ts
131
+ var E = class extends Error {};
132
+ //#endregion
133
+ //#region lib/misc/utils/compute/index.ts
134
+ function D(e) {
135
+ return typeof e == "function";
136
+ }
137
+ function O(e, ...t) {
138
+ return D(e) ? e(...t) : e;
139
+ }
140
+ //#endregion
141
+ //#region lib/object/utils/isObject/index.ts
142
+ function k(e) {
143
+ return typeof e == "object" && !!e && !Array.isArray(e);
144
+ }
145
+ //#endregion
146
+ //#region lib/misc/utils/isEmpty/index.ts
147
+ function A(e) {
148
+ return e == null ? !0 : typeof e == "string" ? e.length === 0 : k(e) ? Object.keys(e).length === 0 : Array.isArray(e) ? e.length === 0 : !1;
149
+ }
150
+ //#endregion
151
+ //#region lib/misc/utils/isPrimitive/index.ts
152
+ function j(e) {
153
+ if (e === null) return !0;
154
+ switch (typeof e) {
155
+ case "boolean":
156
+ case "number":
157
+ case "string":
158
+ case "symbol":
159
+ case "undefined": return !0;
160
+ default: return !1;
161
+ }
162
+ }
163
+ //#endregion
164
+ //#region lib/misc/utils/range/index.ts
165
+ var M = class extends l {
166
+ util = "range";
167
+ };
168
+ function* N(e, t, n) {
169
+ let r = typeof t == "number" ? e : 0, i = typeof t == "number" ? t : e, a = r > i;
170
+ if (n && typeof n.step == "number") {
171
+ if (n.step === 0) throw new M("Step cannot be 0, that would cause the range to become infinite");
172
+ if (a && n.step > 0) throw new M("Given start and end should cause the range to traverse negatively, but step is specified to traverse positively");
173
+ if (!a && n.step < 0) throw new M("Given start and end should cause the range to traverse positively, but step is specified to traverse negatively");
174
+ }
175
+ for (; a ? r >= i : r <= i;) n?.valueMapper === void 0 ? yield r : yield h(n.valueMapper, r), r += n?.step ?? (a ? -1 : 1);
176
+ }
177
+ //#endregion
178
+ //#region lib/misc/utils/sleep/index.ts
179
+ async function ee(e) {
180
+ return new Promise((t) => {
181
+ setTimeout(t, Math.max(e, 0));
182
+ });
183
+ }
184
+ //#endregion
185
+ //#region lib/number/utils/toFloat/index.ts
186
+ function te(e, t = 0) {
187
+ let n;
188
+ switch (typeof e) {
189
+ case "boolean":
190
+ n = +!!e;
191
+ break;
192
+ case "number":
193
+ case "bigint":
194
+ n = Number.parseFloat(e.toString());
195
+ break;
196
+ case "string":
197
+ n = Number.parseFloat(e);
198
+ break;
199
+ default: return t;
200
+ }
201
+ return Number.isNaN(n) || !Number.isFinite(n) ? t : n;
202
+ }
203
+ //#endregion
204
+ //#region lib/number/utils/toInt/index.ts
205
+ function ne(e, t = 0) {
206
+ let n = Math.trunc(t), r;
207
+ switch (typeof e) {
208
+ case "boolean":
209
+ r = +!!e;
210
+ break;
211
+ case "number":
212
+ case "bigint":
213
+ r = Number.parseInt(e.toString(), 10);
214
+ break;
215
+ case "string":
216
+ r = Number.parseInt(e, 10);
217
+ break;
218
+ default: return n;
219
+ }
220
+ return Number.isNaN(r) || !Number.isFinite(r) ? n : r;
221
+ }
222
+ //#endregion
223
+ //#region lib/object/utils/entries/index.ts
224
+ function re(e) {
225
+ return Object.entries(e);
226
+ }
227
+ //#endregion
228
+ //#region lib/object/utils/isObject/index.ts
229
+ function ie(e) {
230
+ return typeof e == "object" && !!e && !Array.isArray(e);
231
+ }
232
+ //#endregion
233
+ //#region lib/object/utils/keys/index.ts
234
+ function ae(e) {
235
+ return Object.keys(e);
236
+ }
237
+ //#endregion
238
+ //#region lib/object/utils/omit/index.ts
239
+ function oe(e, t) {
240
+ let n = { ...e }, r = Array.isArray(t) ? t : [t];
241
+ for (let e of r) delete n[e];
242
+ return n;
243
+ }
244
+ //#endregion
245
+ //#region lib/object/utils/pick/index.ts
246
+ function se(e, t) {
247
+ let n = {}, r = Array.isArray(t) ? t : [t];
248
+ for (let t of r) n[t] = e[t];
249
+ return n;
250
+ }
251
+ //#endregion
252
+ //#region lib/string/casing/internal/splitCasing/index.ts
253
+ function ce(e, t) {
254
+ if (t?.parser) return t.parser(e);
255
+ let n = t?.groupNumbers ?? !1, r = t?.groupUppercaseLetters ?? !0, i = [], a = /[A-Z]/, o = /[0-9]/, s = /[\s-_]/, c = "", l = () => {
256
+ i.push(c), c = "";
257
+ };
258
+ for (let t of e.trim()) {
259
+ let e = c.at(-1);
260
+ if (e === void 0) {
261
+ if (s.test(t)) continue;
262
+ c += t;
263
+ continue;
264
+ }
265
+ if (s.test(t)) {
266
+ l();
267
+ continue;
268
+ }
269
+ if (n) {
270
+ if (o.test(t)) {
271
+ if (o.test(e)) {
272
+ c += t;
273
+ continue;
274
+ }
275
+ l(), c += t;
276
+ continue;
277
+ }
278
+ if (o.test(e)) {
279
+ l(), c += t;
280
+ continue;
281
+ }
282
+ }
283
+ if (a.test(t)) {
284
+ if (r && a.test(e)) {
285
+ c += t;
286
+ continue;
287
+ }
288
+ l(), c += t;
289
+ continue;
290
+ }
291
+ let u = c.at(-2);
292
+ r && a.test(e) && u !== void 0 && a.test(u) && (i.push(c.slice(0, -1)), c = e), c += t;
293
+ }
294
+ return c.length > 0 && l(), i;
295
+ }
296
+ //#endregion
297
+ //#region lib/string/casing/utils/custom/index.ts
298
+ function P(e, t) {
299
+ let n = ce(e, t), r = n.length - 1;
300
+ return n.reduce((e, n, i) => (e += t.transform(n, i), i !== r && (e += t.seperator), e), "");
301
+ }
302
+ //#endregion
303
+ //#region lib/string/casing/utils/camel/index.ts
304
+ function F(e, t) {
305
+ return P(e, {
306
+ ...t,
307
+ seperator: "",
308
+ transform: (e, t) => t === 0 ? e.toLowerCase() : `${e.slice(0, 1).toUpperCase()}${e.slice(1).toLowerCase()}`
309
+ });
310
+ }
311
+ //#endregion
312
+ //#region lib/string/casing/utils/capitalize/index.ts
313
+ function I(e) {
314
+ return `${e.slice(0, 1).toUpperCase()}${e.slice(1)}`;
315
+ }
316
+ //#endregion
317
+ //#region lib/string/casing/utils/http/index.ts
318
+ function L(e, t) {
319
+ return P(e, {
320
+ ...t,
321
+ seperator: "-",
322
+ transform: (e) => `${e.slice(0, 1).toUpperCase()}${e.slice(1).toLowerCase()}`
323
+ });
324
+ }
325
+ //#endregion
326
+ //#region lib/string/casing/utils/kebab/index.ts
327
+ function R(e, t) {
328
+ return P(e, {
329
+ ...t,
330
+ seperator: "-",
331
+ transform: (e) => t?.screaming ? e.toUpperCase() : e.toLowerCase()
332
+ });
333
+ }
334
+ function z(e, t) {
335
+ return R(e, {
336
+ ...t,
337
+ screaming: !0
338
+ });
339
+ }
340
+ //#endregion
341
+ //#region lib/string/casing/utils/lower/index.ts
342
+ function B(e) {
343
+ return e.toLowerCase();
344
+ }
345
+ //#endregion
346
+ //#region lib/string/casing/utils/pascal/index.ts
347
+ function V(e, t) {
348
+ return P(e, {
349
+ ...t,
350
+ seperator: "",
351
+ transform: (e) => `${e.slice(0, 1).toUpperCase()}${e.slice(1)}`
352
+ });
353
+ }
354
+ //#endregion
355
+ //#region lib/string/casing/utils/snake/index.ts
356
+ function H(e, t) {
357
+ return P(e, {
358
+ ...t,
359
+ seperator: "_",
360
+ transform: (e) => t?.screaming ? e.toUpperCase() : e.toLowerCase()
361
+ });
362
+ }
363
+ function U(e, t) {
364
+ return H(e, {
365
+ ...t,
366
+ screaming: !0
367
+ });
368
+ }
369
+ //#endregion
370
+ //#region lib/string/casing/utils/title/index.ts
371
+ function W(e, t) {
372
+ return P(e, {
373
+ ...t,
374
+ seperator: " ",
375
+ transform: (e) => `${e.slice(0, 1).toUpperCase()}${e.slice(1)}`
376
+ });
377
+ }
378
+ //#endregion
379
+ //#region lib/string/casing/utils/uncapitalize/index.ts
380
+ function le(e) {
381
+ return `${e.slice(0, 1).toLowerCase()}${e.slice(1)}`;
382
+ }
383
+ //#endregion
384
+ //#region lib/string/casing/utils/upper/index.ts
385
+ function ue(e) {
386
+ return e.toUpperCase();
387
+ }
388
+ //#endregion
389
+ //#region lib/string/utils/parseUrlParams/index.ts
390
+ function de(e, t) {
391
+ let n = new URL(e), r = Object.fromEntries(n.searchParams.entries());
392
+ if (t) {
393
+ let e = {};
394
+ for (let n in t) e[n] = t[n](r[n]);
395
+ return e;
396
+ }
397
+ return r;
398
+ }
399
+ //#endregion
400
+ //#region lib/string/utils/slug/index.ts
401
+ function fe(e) {
402
+ return e.normalize().toLowerCase().replace(/[^\w ]+/g, "").replace(/ +/g, "-");
403
+ }
404
+ //#endregion
405
+ //#region lib/string/utils/textDifference/index.ts
406
+ var G = /* @__PURE__ */ c((/* @__PURE__ */ o(((e, t) => {
407
+ var n = function() {
408
+ this.Diff_Timeout = 1, this.Diff_EditCost = 4, this.Match_Threshold = .5, this.Match_Distance = 1e3, this.Patch_DeleteThreshold = .5, this.Patch_Margin = 4, this.Match_MaxBits = 32;
409
+ }, r = -1, i = 1, a = 0;
410
+ n.Diff = function(e, t) {
411
+ return [e, t];
412
+ }, n.prototype.diff_main = function(e, t, r, i) {
413
+ i === void 0 && (i = this.Diff_Timeout <= 0 ? Number.MAX_VALUE : (/* @__PURE__ */ new Date()).getTime() + this.Diff_Timeout * 1e3);
414
+ var o = i;
415
+ if (e == null || t == null) throw Error("Null input. (diff_main)");
416
+ if (e == t) return e ? [new n.Diff(a, e)] : [];
417
+ r === void 0 && (r = !0);
418
+ var s = r, c = this.diff_commonPrefix(e, t), l = e.substring(0, c);
419
+ e = e.substring(c), t = t.substring(c), c = this.diff_commonSuffix(e, t);
420
+ var u = e.substring(e.length - c);
421
+ e = e.substring(0, e.length - c), t = t.substring(0, t.length - c);
422
+ var d = this.diff_compute_(e, t, s, o);
423
+ return l && d.unshift(new n.Diff(a, l)), u && d.push(new n.Diff(a, u)), this.diff_cleanupMerge(d), d;
424
+ }, n.prototype.diff_compute_ = function(e, t, o, s) {
425
+ var c;
426
+ if (!e) return [new n.Diff(i, t)];
427
+ if (!t) return [new n.Diff(r, e)];
428
+ var l = e.length > t.length ? e : t, u = e.length > t.length ? t : e, d = l.indexOf(u);
429
+ if (d != -1) return c = [
430
+ new n.Diff(i, l.substring(0, d)),
431
+ new n.Diff(a, u),
432
+ new n.Diff(i, l.substring(d + u.length))
433
+ ], e.length > t.length && (c[0][0] = c[2][0] = r), c;
434
+ if (u.length == 1) return [new n.Diff(r, e), new n.Diff(i, t)];
435
+ var f = this.diff_halfMatch_(e, t);
436
+ if (f) {
437
+ var p = f[0], m = f[1], h = f[2], g = f[3], _ = f[4], v = this.diff_main(p, h, o, s), y = this.diff_main(m, g, o, s);
438
+ return v.concat([new n.Diff(a, _)], y);
439
+ }
440
+ return o && e.length > 100 && t.length > 100 ? this.diff_lineMode_(e, t, s) : this.diff_bisect_(e, t, s);
441
+ }, n.prototype.diff_lineMode_ = function(e, t, o) {
442
+ var s = this.diff_linesToChars_(e, t);
443
+ e = s.chars1, t = s.chars2;
444
+ var c = s.lineArray, l = this.diff_main(e, t, !1, o);
445
+ this.diff_charsToLines_(l, c), this.diff_cleanupSemantic(l), l.push(new n.Diff(a, ""));
446
+ for (var u = 0, d = 0, f = 0, p = "", m = ""; u < l.length;) {
447
+ switch (l[u][0]) {
448
+ case i:
449
+ f++, m += l[u][1];
450
+ break;
451
+ case r:
452
+ d++, p += l[u][1];
453
+ break;
454
+ case a:
455
+ if (d >= 1 && f >= 1) {
456
+ l.splice(u - d - f, d + f), u = u - d - f;
457
+ for (var h = this.diff_main(p, m, !1, o), g = h.length - 1; g >= 0; g--) l.splice(u, 0, h[g]);
458
+ u += h.length;
459
+ }
460
+ f = 0, d = 0, p = "", m = "";
461
+ }
462
+ u++;
463
+ }
464
+ return l.pop(), l;
465
+ }, n.prototype.diff_bisect_ = function(e, t, a) {
466
+ for (var o = e.length, s = t.length, c = Math.ceil((o + s) / 2), l = c, u = 2 * c, d = Array(u), f = Array(u), p = 0; p < u; p++) d[p] = -1, f[p] = -1;
467
+ d[l + 1] = 0, f[l + 1] = 0;
468
+ for (var m = o - s, h = m % 2 != 0, g = 0, _ = 0, v = 0, y = 0, b = 0; b < c && !((/* @__PURE__ */ new Date()).getTime() > a); b++) {
469
+ for (var x = -b + g; x <= b - _; x += 2) {
470
+ for (var S = l + x, C = x == -b || x != b && d[S - 1] < d[S + 1] ? d[S + 1] : d[S - 1] + 1, w = C - x; C < o && w < s && e.charAt(C) == t.charAt(w);) C++, w++;
471
+ if (d[S] = C, C > o) _ += 2;
472
+ else if (w > s) g += 2;
473
+ else if (h) {
474
+ var T = l + m - x;
475
+ if (T >= 0 && T < u && f[T] != -1) {
476
+ var E = o - f[T];
477
+ if (C >= E) return this.diff_bisectSplit_(e, t, C, w, a);
478
+ }
479
+ }
480
+ }
481
+ for (var D = -b + v; D <= b - y; D += 2) {
482
+ for (var T = l + D, E = D == -b || D != b && f[T - 1] < f[T + 1] ? f[T + 1] : f[T - 1] + 1, O = E - D; E < o && O < s && e.charAt(o - E - 1) == t.charAt(s - O - 1);) E++, O++;
483
+ if (f[T] = E, E > o) y += 2;
484
+ else if (O > s) v += 2;
485
+ else if (!h) {
486
+ var S = l + m - D;
487
+ if (S >= 0 && S < u && d[S] != -1) {
488
+ var C = d[S], w = l + C - S;
489
+ if (E = o - E, C >= E) return this.diff_bisectSplit_(e, t, C, w, a);
490
+ }
491
+ }
492
+ }
493
+ }
494
+ return [new n.Diff(r, e), new n.Diff(i, t)];
495
+ }, n.prototype.diff_bisectSplit_ = function(e, t, n, r, i) {
496
+ var a = e.substring(0, n), o = t.substring(0, r), s = e.substring(n), c = t.substring(r), l = this.diff_main(a, o, !1, i), u = this.diff_main(s, c, !1, i);
497
+ return l.concat(u);
498
+ }, n.prototype.diff_linesToChars_ = function(e, t) {
499
+ var n = [], r = {};
500
+ n[0] = "";
501
+ function i(e) {
502
+ for (var t = "", i = 0, o = -1, s = n.length; o < e.length - 1;) {
503
+ o = e.indexOf("\n", i), o == -1 && (o = e.length - 1);
504
+ var c = e.substring(i, o + 1);
505
+ (r.hasOwnProperty ? r.hasOwnProperty(c) : r[c] !== void 0) ? t += String.fromCharCode(r[c]) : (s == a && (c = e.substring(i), o = e.length), t += String.fromCharCode(s), r[c] = s, n[s++] = c), i = o + 1;
506
+ }
507
+ return t;
508
+ }
509
+ var a = 4e4, o = i(e);
510
+ return a = 65535, {
511
+ chars1: o,
512
+ chars2: i(t),
513
+ lineArray: n
514
+ };
515
+ }, n.prototype.diff_charsToLines_ = function(e, t) {
516
+ for (var n = 0; n < e.length; n++) {
517
+ for (var r = e[n][1], i = [], a = 0; a < r.length; a++) i[a] = t[r.charCodeAt(a)];
518
+ e[n][1] = i.join("");
519
+ }
520
+ }, n.prototype.diff_commonPrefix = function(e, t) {
521
+ if (!e || !t || e.charAt(0) != t.charAt(0)) return 0;
522
+ for (var n = 0, r = Math.min(e.length, t.length), i = r, a = 0; n < i;) e.substring(a, i) == t.substring(a, i) ? (n = i, a = n) : r = i, i = Math.floor((r - n) / 2 + n);
523
+ return i;
524
+ }, n.prototype.diff_commonSuffix = function(e, t) {
525
+ if (!e || !t || e.charAt(e.length - 1) != t.charAt(t.length - 1)) return 0;
526
+ for (var n = 0, r = Math.min(e.length, t.length), i = r, a = 0; n < i;) e.substring(e.length - i, e.length - a) == t.substring(t.length - i, t.length - a) ? (n = i, a = n) : r = i, i = Math.floor((r - n) / 2 + n);
527
+ return i;
528
+ }, n.prototype.diff_commonOverlap_ = function(e, t) {
529
+ var n = e.length, r = t.length;
530
+ if (n == 0 || r == 0) return 0;
531
+ n > r ? e = e.substring(n - r) : n < r && (t = t.substring(0, n));
532
+ var i = Math.min(n, r);
533
+ if (e == t) return i;
534
+ for (var a = 0, o = 1;;) {
535
+ var s = e.substring(i - o), c = t.indexOf(s);
536
+ if (c == -1) return a;
537
+ o += c, (c == 0 || e.substring(i - o) == t.substring(0, o)) && (a = o, o++);
538
+ }
539
+ }, n.prototype.diff_halfMatch_ = function(e, t) {
540
+ if (this.Diff_Timeout <= 0) return null;
541
+ var n = e.length > t.length ? e : t, r = e.length > t.length ? t : e;
542
+ if (n.length < 4 || r.length * 2 < n.length) return null;
543
+ var i = this;
544
+ function a(e, t, n) {
545
+ for (var r = e.substring(n, n + Math.floor(e.length / 4)), a = -1, o = "", s, c, l, u; (a = t.indexOf(r, a + 1)) != -1;) {
546
+ var d = i.diff_commonPrefix(e.substring(n), t.substring(a)), f = i.diff_commonSuffix(e.substring(0, n), t.substring(0, a));
547
+ o.length < f + d && (o = t.substring(a - f, a) + t.substring(a, a + d), s = e.substring(0, n - f), c = e.substring(n + d), l = t.substring(0, a - f), u = t.substring(a + d));
548
+ }
549
+ return o.length * 2 >= e.length ? [
550
+ s,
551
+ c,
552
+ l,
553
+ u,
554
+ o
555
+ ] : null;
556
+ }
557
+ var o = a(n, r, Math.ceil(n.length / 4)), s = a(n, r, Math.ceil(n.length / 2)), c;
558
+ if (!o && !s) return null;
559
+ c = s ? o && o[4].length > s[4].length ? o : s : o;
560
+ var l, u, d, f;
561
+ e.length > t.length ? (l = c[0], u = c[1], d = c[2], f = c[3]) : (d = c[0], f = c[1], l = c[2], u = c[3]);
562
+ var p = c[4];
563
+ return [
564
+ l,
565
+ u,
566
+ d,
567
+ f,
568
+ p
569
+ ];
570
+ }, n.prototype.diff_cleanupSemantic = function(e) {
571
+ for (var t = !1, o = [], s = 0, c = null, l = 0, u = 0, d = 0, f = 0, p = 0; l < e.length;) e[l][0] == a ? (o[s++] = l, u = f, d = p, f = 0, p = 0, c = e[l][1]) : (e[l][0] == i ? f += e[l][1].length : p += e[l][1].length, c && c.length <= Math.max(u, d) && c.length <= Math.max(f, p) && (e.splice(o[s - 1], 0, new n.Diff(r, c)), e[o[s - 1] + 1][0] = i, s--, s--, l = s > 0 ? o[s - 1] : -1, u = 0, d = 0, f = 0, p = 0, c = null, t = !0)), l++;
572
+ for (t && this.diff_cleanupMerge(e), this.diff_cleanupSemanticLossless(e), l = 1; l < e.length;) {
573
+ if (e[l - 1][0] == r && e[l][0] == i) {
574
+ var m = e[l - 1][1], h = e[l][1], g = this.diff_commonOverlap_(m, h), _ = this.diff_commonOverlap_(h, m);
575
+ g >= _ ? (g >= m.length / 2 || g >= h.length / 2) && (e.splice(l, 0, new n.Diff(a, h.substring(0, g))), e[l - 1][1] = m.substring(0, m.length - g), e[l + 1][1] = h.substring(g), l++) : (_ >= m.length / 2 || _ >= h.length / 2) && (e.splice(l, 0, new n.Diff(a, m.substring(0, _))), e[l - 1][0] = i, e[l - 1][1] = h.substring(0, h.length - _), e[l + 1][0] = r, e[l + 1][1] = m.substring(_), l++), l++;
576
+ }
577
+ l++;
578
+ }
579
+ }, n.prototype.diff_cleanupSemanticLossless = function(e) {
580
+ function t(e, t) {
581
+ if (!e || !t) return 6;
582
+ var r = e.charAt(e.length - 1), i = t.charAt(0), a = r.match(n.nonAlphaNumericRegex_), o = i.match(n.nonAlphaNumericRegex_), s = a && r.match(n.whitespaceRegex_), c = o && i.match(n.whitespaceRegex_), l = s && r.match(n.linebreakRegex_), u = c && i.match(n.linebreakRegex_), d = l && e.match(n.blanklineEndRegex_), f = u && t.match(n.blanklineStartRegex_);
583
+ return d || f ? 5 : l || u ? 4 : a && !s && c ? 3 : s || c ? 2 : a || o ? 1 : 0;
584
+ }
585
+ for (var r = 1; r < e.length - 1;) {
586
+ if (e[r - 1][0] == a && e[r + 1][0] == a) {
587
+ var i = e[r - 1][1], o = e[r][1], s = e[r + 1][1], c = this.diff_commonSuffix(i, o);
588
+ if (c) {
589
+ var l = o.substring(o.length - c);
590
+ i = i.substring(0, i.length - c), o = l + o.substring(0, o.length - c), s = l + s;
591
+ }
592
+ for (var u = i, d = o, f = s, p = t(i, o) + t(o, s); o.charAt(0) === s.charAt(0);) {
593
+ i += o.charAt(0), o = o.substring(1) + s.charAt(0), s = s.substring(1);
594
+ var m = t(i, o) + t(o, s);
595
+ m >= p && (p = m, u = i, d = o, f = s);
596
+ }
597
+ e[r - 1][1] != u && (u ? e[r - 1][1] = u : (e.splice(r - 1, 1), r--), e[r][1] = d, f ? e[r + 1][1] = f : (e.splice(r + 1, 1), r--));
598
+ }
599
+ r++;
600
+ }
601
+ }, n.nonAlphaNumericRegex_ = /[^a-zA-Z0-9]/, n.whitespaceRegex_ = /\s/, n.linebreakRegex_ = /[\r\n]/, n.blanklineEndRegex_ = /\n\r?\n$/, n.blanklineStartRegex_ = /^\r?\n\r?\n/, n.prototype.diff_cleanupEfficiency = function(e) {
602
+ for (var t = !1, o = [], s = 0, c = null, l = 0, u = !1, d = !1, f = !1, p = !1; l < e.length;) e[l][0] == a ? (e[l][1].length < this.Diff_EditCost && (f || p) ? (o[s++] = l, u = f, d = p, c = e[l][1]) : (s = 0, c = null), f = p = !1) : (e[l][0] == r ? p = !0 : f = !0, c && (u && d && f && p || c.length < this.Diff_EditCost / 2 && u + d + f + p == 3) && (e.splice(o[s - 1], 0, new n.Diff(r, c)), e[o[s - 1] + 1][0] = i, s--, c = null, u && d ? (f = p = !0, s = 0) : (s--, l = s > 0 ? o[s - 1] : -1, f = p = !1), t = !0)), l++;
603
+ t && this.diff_cleanupMerge(e);
604
+ }, n.prototype.diff_cleanupMerge = function(e) {
605
+ e.push(new n.Diff(a, ""));
606
+ for (var t = 0, o = 0, s = 0, c = "", l = "", u; t < e.length;) switch (e[t][0]) {
607
+ case i:
608
+ s++, l += e[t][1], t++;
609
+ break;
610
+ case r:
611
+ o++, c += e[t][1], t++;
612
+ break;
613
+ case a: o + s > 1 ? (o !== 0 && s !== 0 && (u = this.diff_commonPrefix(l, c), u !== 0 && (t - o - s > 0 && e[t - o - s - 1][0] == a ? e[t - o - s - 1][1] += l.substring(0, u) : (e.splice(0, 0, new n.Diff(a, l.substring(0, u))), t++), l = l.substring(u), c = c.substring(u)), u = this.diff_commonSuffix(l, c), u !== 0 && (e[t][1] = l.substring(l.length - u) + e[t][1], l = l.substring(0, l.length - u), c = c.substring(0, c.length - u))), t -= o + s, e.splice(t, o + s), c.length && (e.splice(t, 0, new n.Diff(r, c)), t++), l.length && (e.splice(t, 0, new n.Diff(i, l)), t++), t++) : t !== 0 && e[t - 1][0] == a ? (e[t - 1][1] += e[t][1], e.splice(t, 1)) : t++, s = 0, o = 0, c = "", l = "";
614
+ }
615
+ e[e.length - 1][1] === "" && e.pop();
616
+ var d = !1;
617
+ for (t = 1; t < e.length - 1;) e[t - 1][0] == a && e[t + 1][0] == a && (e[t][1].substring(e[t][1].length - e[t - 1][1].length) == e[t - 1][1] ? (e[t][1] = e[t - 1][1] + e[t][1].substring(0, e[t][1].length - e[t - 1][1].length), e[t + 1][1] = e[t - 1][1] + e[t + 1][1], e.splice(t - 1, 1), d = !0) : e[t][1].substring(0, e[t + 1][1].length) == e[t + 1][1] && (e[t - 1][1] += e[t + 1][1], e[t][1] = e[t][1].substring(e[t + 1][1].length) + e[t + 1][1], e.splice(t + 1, 1), d = !0)), t++;
618
+ d && this.diff_cleanupMerge(e);
619
+ }, n.prototype.diff_xIndex = function(e, t) {
620
+ var n = 0, a = 0, o = 0, s = 0, c;
621
+ for (c = 0; c < e.length && (e[c][0] !== i && (n += e[c][1].length), e[c][0] !== r && (a += e[c][1].length), !(n > t)); c++) o = n, s = a;
622
+ return e.length != c && e[c][0] === r ? s : s + (t - o);
623
+ }, n.prototype.diff_prettyHtml = function(e) {
624
+ for (var t = [], n = /&/g, o = /</g, s = />/g, c = /\n/g, l = 0; l < e.length; l++) {
625
+ var u = e[l][0], d = e[l][1].replace(n, "&amp;").replace(o, "&lt;").replace(s, "&gt;").replace(c, "&para;<br>");
626
+ switch (u) {
627
+ case i:
628
+ t[l] = "<ins style=\"background:#e6ffe6;\">" + d + "</ins>";
629
+ break;
630
+ case r:
631
+ t[l] = "<del style=\"background:#ffe6e6;\">" + d + "</del>";
632
+ break;
633
+ case a: t[l] = "<span>" + d + "</span>";
634
+ }
635
+ }
636
+ return t.join("");
637
+ }, n.prototype.diff_text1 = function(e) {
638
+ for (var t = [], n = 0; n < e.length; n++) e[n][0] !== i && (t[n] = e[n][1]);
639
+ return t.join("");
640
+ }, n.prototype.diff_text2 = function(e) {
641
+ for (var t = [], n = 0; n < e.length; n++) e[n][0] !== r && (t[n] = e[n][1]);
642
+ return t.join("");
643
+ }, n.prototype.diff_levenshtein = function(e) {
644
+ for (var t = 0, n = 0, o = 0, s = 0; s < e.length; s++) {
645
+ var c = e[s][0], l = e[s][1];
646
+ switch (c) {
647
+ case i:
648
+ n += l.length;
649
+ break;
650
+ case r:
651
+ o += l.length;
652
+ break;
653
+ case a: t += Math.max(n, o), n = 0, o = 0;
654
+ }
655
+ }
656
+ return t += Math.max(n, o), t;
657
+ }, n.prototype.diff_toDelta = function(e) {
658
+ for (var t = [], n = 0; n < e.length; n++) switch (e[n][0]) {
659
+ case i:
660
+ t[n] = "+" + encodeURI(e[n][1]);
661
+ break;
662
+ case r:
663
+ t[n] = "-" + e[n][1].length;
664
+ break;
665
+ case a: t[n] = "=" + e[n][1].length;
666
+ }
667
+ return t.join(" ").replace(/%20/g, " ");
668
+ }, n.prototype.diff_fromDelta = function(e, t) {
669
+ for (var o = [], s = 0, c = 0, l = t.split(/\t/g), u = 0; u < l.length; u++) {
670
+ var d = l[u].substring(1);
671
+ switch (l[u].charAt(0)) {
672
+ case "+":
673
+ try {
674
+ o[s++] = new n.Diff(i, decodeURI(d));
675
+ } catch {
676
+ throw Error("Illegal escape in diff_fromDelta: " + d);
677
+ }
678
+ break;
679
+ case "-":
680
+ case "=":
681
+ var f = parseInt(d, 10);
682
+ if (isNaN(f) || f < 0) throw Error("Invalid number in diff_fromDelta: " + d);
683
+ var p = e.substring(c, c += f);
684
+ l[u].charAt(0) == "=" ? o[s++] = new n.Diff(a, p) : o[s++] = new n.Diff(r, p);
685
+ break;
686
+ default: if (l[u]) throw Error("Invalid diff operation in diff_fromDelta: " + l[u]);
687
+ }
688
+ }
689
+ if (c != e.length) throw Error("Delta length (" + c + ") does not equal source text length (" + e.length + ").");
690
+ return o;
691
+ }, n.prototype.match_main = function(e, t, n) {
692
+ if (e == null || t == null || n == null) throw Error("Null input. (match_main)");
693
+ return n = Math.max(0, Math.min(n, e.length)), e == t ? 0 : e.length ? e.substring(n, n + t.length) == t ? n : this.match_bitap_(e, t, n) : -1;
694
+ }, n.prototype.match_bitap_ = function(e, t, n) {
695
+ if (t.length > this.Match_MaxBits) throw Error("Pattern too long for this browser.");
696
+ var r = this.match_alphabet_(t), i = this;
697
+ function a(e, r) {
698
+ var a = e / t.length, o = Math.abs(n - r);
699
+ return i.Match_Distance ? a + o / i.Match_Distance : o ? 1 : a;
700
+ }
701
+ var o = this.Match_Threshold, s = e.indexOf(t, n);
702
+ s != -1 && (o = Math.min(a(0, s), o), s = e.lastIndexOf(t, n + t.length), s != -1 && (o = Math.min(a(0, s), o)));
703
+ var c = 1 << t.length - 1;
704
+ s = -1;
705
+ for (var l, u, d = t.length + e.length, f, p = 0; p < t.length; p++) {
706
+ for (l = 0, u = d; l < u;) a(p, n + u) <= o ? l = u : d = u, u = Math.floor((d - l) / 2 + l);
707
+ d = u;
708
+ var m = Math.max(1, n - u + 1), h = Math.min(n + u, e.length) + t.length, g = Array(h + 2);
709
+ g[h + 1] = (1 << p) - 1;
710
+ for (var _ = h; _ >= m; _--) {
711
+ var v = r[e.charAt(_ - 1)];
712
+ if (p === 0 ? g[_] = (g[_ + 1] << 1 | 1) & v : g[_] = (g[_ + 1] << 1 | 1) & v | (f[_ + 1] | f[_]) << 1 | 1 | f[_ + 1], g[_] & c) {
713
+ var y = a(p, _ - 1);
714
+ if (y <= o) {
715
+ if (o = y, s = _ - 1, s > n) m = Math.max(1, 2 * n - s);
716
+ else break;
717
+ }
718
+ }
719
+ }
720
+ if (a(p + 1, n) > o) break;
721
+ f = g;
722
+ }
723
+ return s;
724
+ }, n.prototype.match_alphabet_ = function(e) {
725
+ for (var t = {}, n = 0; n < e.length; n++) t[e.charAt(n)] = 0;
726
+ for (var n = 0; n < e.length; n++) t[e.charAt(n)] |= 1 << e.length - n - 1;
727
+ return t;
728
+ }, n.prototype.patch_addContext_ = function(e, t) {
729
+ if (t.length != 0) {
730
+ if (e.start2 === null) throw Error("patch not initialized");
731
+ for (var r = t.substring(e.start2, e.start2 + e.length1), i = 0; t.indexOf(r) != t.lastIndexOf(r) && r.length < this.Match_MaxBits - this.Patch_Margin - this.Patch_Margin;) i += this.Patch_Margin, r = t.substring(e.start2 - i, e.start2 + e.length1 + i);
732
+ i += this.Patch_Margin;
733
+ var o = t.substring(e.start2 - i, e.start2);
734
+ o && e.diffs.unshift(new n.Diff(a, o));
735
+ var s = t.substring(e.start2 + e.length1, e.start2 + e.length1 + i);
736
+ s && e.diffs.push(new n.Diff(a, s)), e.start1 -= o.length, e.start2 -= o.length, e.length1 += o.length + s.length, e.length2 += o.length + s.length;
737
+ }
738
+ }, n.prototype.patch_make = function(e, t, o) {
739
+ var s, c;
740
+ if (typeof e == "string" && typeof t == "string" && o === void 0) s = e, c = this.diff_main(s, t, !0), c.length > 2 && (this.diff_cleanupSemantic(c), this.diff_cleanupEfficiency(c));
741
+ else if (e && typeof e == "object" && t === void 0 && o === void 0) c = e, s = this.diff_text1(c);
742
+ else if (typeof e == "string" && t && typeof t == "object" && o === void 0) s = e, c = t;
743
+ else if (typeof e == "string" && typeof t == "string" && o && typeof o == "object") s = e, c = o;
744
+ else throw Error("Unknown call format to patch_make.");
745
+ if (c.length === 0) return [];
746
+ for (var l = [], u = new n.patch_obj(), d = 0, f = 0, p = 0, m = s, h = s, g = 0; g < c.length; g++) {
747
+ var _ = c[g][0], v = c[g][1];
748
+ switch (!d && _ !== a && (u.start1 = f, u.start2 = p), _) {
749
+ case i:
750
+ u.diffs[d++] = c[g], u.length2 += v.length, h = h.substring(0, p) + v + h.substring(p);
751
+ break;
752
+ case r:
753
+ u.length1 += v.length, u.diffs[d++] = c[g], h = h.substring(0, p) + h.substring(p + v.length);
754
+ break;
755
+ case a: v.length <= 2 * this.Patch_Margin && d && c.length != g + 1 ? (u.diffs[d++] = c[g], u.length1 += v.length, u.length2 += v.length) : v.length >= 2 * this.Patch_Margin && d && (this.patch_addContext_(u, m), l.push(u), u = new n.patch_obj(), d = 0, m = h, f = p);
756
+ }
757
+ _ !== i && (f += v.length), _ !== r && (p += v.length);
758
+ }
759
+ return d && (this.patch_addContext_(u, m), l.push(u)), l;
760
+ }, n.prototype.patch_deepCopy = function(e) {
761
+ for (var t = [], r = 0; r < e.length; r++) {
762
+ var i = e[r], a = new n.patch_obj();
763
+ a.diffs = [];
764
+ for (var o = 0; o < i.diffs.length; o++) a.diffs[o] = new n.Diff(i.diffs[o][0], i.diffs[o][1]);
765
+ a.start1 = i.start1, a.start2 = i.start2, a.length1 = i.length1, a.length2 = i.length2, t[r] = a;
766
+ }
767
+ return t;
768
+ }, n.prototype.patch_apply = function(e, t) {
769
+ if (e.length == 0) return [t, []];
770
+ e = this.patch_deepCopy(e);
771
+ var n = this.patch_addPadding(e);
772
+ t = n + t + n, this.patch_splitMax(e);
773
+ for (var o = 0, s = [], c = 0; c < e.length; c++) {
774
+ var l = e[c].start2 + o, u = this.diff_text1(e[c].diffs), d, f = -1;
775
+ if (u.length > this.Match_MaxBits ? (d = this.match_main(t, u.substring(0, this.Match_MaxBits), l), d != -1 && (f = this.match_main(t, u.substring(u.length - this.Match_MaxBits), l + u.length - this.Match_MaxBits), (f == -1 || d >= f) && (d = -1))) : d = this.match_main(t, u, l), d == -1) s[c] = !1, o -= e[c].length2 - e[c].length1;
776
+ else {
777
+ s[c] = !0, o = d - l;
778
+ var p = f == -1 ? t.substring(d, d + u.length) : t.substring(d, f + this.Match_MaxBits);
779
+ if (u == p) t = t.substring(0, d) + this.diff_text2(e[c].diffs) + t.substring(d + u.length);
780
+ else {
781
+ var m = this.diff_main(u, p, !1);
782
+ if (u.length > this.Match_MaxBits && this.diff_levenshtein(m) / u.length > this.Patch_DeleteThreshold) s[c] = !1;
783
+ else {
784
+ this.diff_cleanupSemanticLossless(m);
785
+ for (var h = 0, g, _ = 0; _ < e[c].diffs.length; _++) {
786
+ var v = e[c].diffs[_];
787
+ v[0] !== a && (g = this.diff_xIndex(m, h)), v[0] === i ? t = t.substring(0, d + g) + v[1] + t.substring(d + g) : v[0] === r && (t = t.substring(0, d + g) + t.substring(d + this.diff_xIndex(m, h + v[1].length))), v[0] !== r && (h += v[1].length);
788
+ }
789
+ }
790
+ }
791
+ }
792
+ }
793
+ return t = t.substring(n.length, t.length - n.length), [t, s];
794
+ }, n.prototype.patch_addPadding = function(e) {
795
+ for (var t = this.Patch_Margin, r = "", i = 1; i <= t; i++) r += String.fromCharCode(i);
796
+ for (var i = 0; i < e.length; i++) e[i].start1 += t, e[i].start2 += t;
797
+ var o = e[0], s = o.diffs;
798
+ if (s.length == 0 || s[0][0] != a) s.unshift(new n.Diff(a, r)), o.start1 -= t, o.start2 -= t, o.length1 += t, o.length2 += t;
799
+ else if (t > s[0][1].length) {
800
+ var c = t - s[0][1].length;
801
+ s[0][1] = r.substring(s[0][1].length) + s[0][1], o.start1 -= c, o.start2 -= c, o.length1 += c, o.length2 += c;
802
+ }
803
+ if (o = e[e.length - 1], s = o.diffs, s.length == 0 || s[s.length - 1][0] != a) s.push(new n.Diff(a, r)), o.length1 += t, o.length2 += t;
804
+ else if (t > s[s.length - 1][1].length) {
805
+ var c = t - s[s.length - 1][1].length;
806
+ s[s.length - 1][1] += r.substring(0, c), o.length1 += c, o.length2 += c;
807
+ }
808
+ return r;
809
+ }, n.prototype.patch_splitMax = function(e) {
810
+ for (var t = this.Match_MaxBits, o = 0; o < e.length; o++) if (!(e[o].length1 <= t)) {
811
+ var s = e[o];
812
+ e.splice(o--, 1);
813
+ for (var c = s.start1, l = s.start2, u = ""; s.diffs.length !== 0;) {
814
+ var d = new n.patch_obj(), f = !0;
815
+ for (d.start1 = c - u.length, d.start2 = l - u.length, u !== "" && (d.length1 = d.length2 = u.length, d.diffs.push(new n.Diff(a, u))); s.diffs.length !== 0 && d.length1 < t - this.Patch_Margin;) {
816
+ var p = s.diffs[0][0], m = s.diffs[0][1];
817
+ p === i ? (d.length2 += m.length, l += m.length, d.diffs.push(s.diffs.shift()), f = !1) : p === r && d.diffs.length == 1 && d.diffs[0][0] == a && m.length > 2 * t ? (d.length1 += m.length, c += m.length, f = !1, d.diffs.push(new n.Diff(p, m)), s.diffs.shift()) : (m = m.substring(0, t - d.length1 - this.Patch_Margin), d.length1 += m.length, c += m.length, p === a ? (d.length2 += m.length, l += m.length) : f = !1, d.diffs.push(new n.Diff(p, m)), m == s.diffs[0][1] ? s.diffs.shift() : s.diffs[0][1] = s.diffs[0][1].substring(m.length));
818
+ }
819
+ u = this.diff_text2(d.diffs), u = u.substring(u.length - this.Patch_Margin);
820
+ var h = this.diff_text1(s.diffs).substring(0, this.Patch_Margin);
821
+ h !== "" && (d.length1 += h.length, d.length2 += h.length, d.diffs.length !== 0 && d.diffs[d.diffs.length - 1][0] === a ? d.diffs[d.diffs.length - 1][1] += h : d.diffs.push(new n.Diff(a, h))), f || e.splice(++o, 0, d);
822
+ }
823
+ }
824
+ }, n.prototype.patch_toText = function(e) {
825
+ for (var t = [], n = 0; n < e.length; n++) t[n] = e[n];
826
+ return t.join("");
827
+ }, n.prototype.patch_fromText = function(e) {
828
+ var t = [];
829
+ if (!e) return t;
830
+ for (var o = e.split("\n"), s = 0, c = /^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/; s < o.length;) {
831
+ var l = o[s].match(c);
832
+ if (!l) throw Error("Invalid patch string: " + o[s]);
833
+ var u = new n.patch_obj();
834
+ for (t.push(u), u.start1 = parseInt(l[1], 10), l[2] === "" ? (u.start1--, u.length1 = 1) : l[2] == "0" ? u.length1 = 0 : (u.start1--, u.length1 = parseInt(l[2], 10)), u.start2 = parseInt(l[3], 10), l[4] === "" ? (u.start2--, u.length2 = 1) : l[4] == "0" ? u.length2 = 0 : (u.start2--, u.length2 = parseInt(l[4], 10)), s++; s < o.length;) {
835
+ var d = o[s].charAt(0);
836
+ try {
837
+ var f = decodeURI(o[s].substring(1));
838
+ } catch {
839
+ throw Error("Illegal escape in patch_fromText: " + f);
840
+ }
841
+ if (d == "-") u.diffs.push(new n.Diff(r, f));
842
+ else if (d == "+") u.diffs.push(new n.Diff(i, f));
843
+ else if (d == " ") u.diffs.push(new n.Diff(a, f));
844
+ else if (d == "@") break;
845
+ else if (d !== "") throw Error("Invalid patch mode \"" + d + "\" in: " + f);
846
+ s++;
847
+ }
848
+ }
849
+ return t;
850
+ }, n.patch_obj = function() {
851
+ this.diffs = [], this.start1 = null, this.start2 = null, this.length1 = 0, this.length2 = 0;
852
+ }, n.patch_obj.prototype.toString = function() {
853
+ for (var e = this.length1 === 0 ? this.start1 + ",0" : this.length1 == 1 ? this.start1 + 1 : this.start1 + 1 + "," + this.length1, t = this.length2 === 0 ? this.start2 + ",0" : this.length2 == 1 ? this.start2 + 1 : this.start2 + 1 + "," + this.length2, n = ["@@ -" + e + " +" + t + " @@\n"], o, s = 0; s < this.diffs.length; s++) {
854
+ switch (this.diffs[s][0]) {
855
+ case i:
856
+ o = "+";
857
+ break;
858
+ case r:
859
+ o = "-";
860
+ break;
861
+ case a: o = " ";
862
+ }
863
+ n[s + 1] = o + encodeURI(this.diffs[s][1]) + "\n";
864
+ }
865
+ return n.join("").replace(/%20/g, " ");
866
+ }, t.exports = n, t.exports.diff_match_patch = n, t.exports.DIFF_DELETE = r, t.exports.DIFF_INSERT = i, t.exports.DIFF_EQUAL = a;
867
+ })))(), 1), pe = /* @__PURE__ */ new Set([
868
+ "area",
869
+ "base",
870
+ "br",
871
+ "col",
872
+ "embed",
873
+ "hr",
874
+ "img",
875
+ "input",
876
+ "link",
877
+ "meta",
878
+ "param",
879
+ "source",
880
+ "track",
881
+ "wbr"
882
+ ]), me = /* @__PURE__ */ new Set(/* @__PURE__ */ "a.abbr.b.bdi.bdo.br.button.cite.code.data.dfn.em.i.img.input.kbd.label.mark.q.rp.rt.ruby.s.samp.select.small.span.strong.sub.sup.textarea.time.u.var.wbr".split("."));
883
+ function he(e, t) {
884
+ if (e.startsWith("<!--", t)) {
885
+ let n = e.indexOf("-->", t + 4);
886
+ return n === -1 ? -1 : n + 2;
887
+ }
888
+ let n = null, r = t;
889
+ for (let i of e.slice(t + 1)) {
890
+ if (r += 1, n) {
891
+ i === n && (n = null);
892
+ continue;
893
+ }
894
+ if (i === "\"" || i === "'") {
895
+ n = i;
896
+ continue;
897
+ }
898
+ if (i === ">") return r;
899
+ }
900
+ return -1;
901
+ }
902
+ function ge(e) {
903
+ let t = [], n = 0;
904
+ for (; n < e.length;) {
905
+ if (e[n] === "<") {
906
+ let r = he(e, n);
907
+ if (r === -1) {
908
+ t.push({
909
+ kind: "text",
910
+ value: e.slice(n)
911
+ });
912
+ break;
913
+ }
914
+ t.push({
915
+ kind: "tag",
916
+ value: e.slice(n, r + 1)
917
+ }), n = r + 1;
918
+ continue;
919
+ }
920
+ let r = e.indexOf("<", n), i = r === -1 ? e.length : r;
921
+ t.push({
922
+ kind: "text",
923
+ value: e.slice(n, i)
924
+ }), n = i;
925
+ }
926
+ return t;
927
+ }
928
+ function _e(e) {
929
+ let t = /^<\/?\s*([a-zA-Z][a-zA-Z0-9:-]*)/.exec(e);
930
+ return t ? t[1].toLowerCase() : "";
931
+ }
932
+ function K(e) {
933
+ let t = [], n = [], r = () => n.length ? n[n.length - 1].children : t;
934
+ for (let t of ge(e)) {
935
+ if (t.kind === "text") {
936
+ t.value && r().push({
937
+ kind: "text",
938
+ text: t.value
939
+ });
940
+ continue;
941
+ }
942
+ let e = t.value;
943
+ if (e.startsWith("<!")) {
944
+ r().push({
945
+ kind: "element",
946
+ tag: "",
947
+ openTag: e,
948
+ closeTag: "",
949
+ children: []
950
+ });
951
+ continue;
952
+ }
953
+ let i = _e(e);
954
+ if (e.startsWith("</")) {
955
+ let t = -1;
956
+ for (let e = n.length - 1; e >= 0; --e) if (n[e].tag === i) {
957
+ t = e;
958
+ break;
959
+ }
960
+ if (t === -1) {
961
+ r().push({
962
+ kind: "text",
963
+ text: e
964
+ });
965
+ continue;
966
+ }
967
+ let a = n[t];
968
+ for (; n.length > t;) n.pop();
969
+ a.closeTag = e;
970
+ continue;
971
+ }
972
+ let a = {
973
+ kind: "element",
974
+ tag: i,
975
+ openTag: e,
976
+ closeTag: "",
977
+ children: []
978
+ };
979
+ r().push(a), !/\/\s*>$/.test(e) && !pe.has(i) && n.push(a);
980
+ }
981
+ return t;
982
+ }
983
+ function q(e) {
984
+ return me.has(e) ? "INLINE" : "BLOCK";
985
+ }
986
+ function J(e) {
987
+ return e.kind === "text" ? e.text : `${e.openTag}${e.children.map(J).join("")}${e.closeTag}`;
988
+ }
989
+ function Y(e) {
990
+ return e.kind === "text" ? `T:${e.text}` : `E:${e.openTag}${e.children.map(Y).join("")}${e.closeTag}`;
991
+ }
992
+ function X(e) {
993
+ switch (e) {
994
+ case G.default.DIFF_EQUAL: return "EQUAL";
995
+ case G.default.DIFF_INSERT: return "INSERT";
996
+ case G.default.DIFF_DELETE: return "DELETE";
997
+ default: throw Error("Got invalid difference marker to determine type");
998
+ }
999
+ }
1000
+ function ve({ oldItems: e, newItems: t, key: n }) {
1001
+ let r = /* @__PURE__ */ new Map(), i = 33, a = () => {
1002
+ i === 55296 && (i = 57344);
1003
+ let e = String.fromCharCode(i);
1004
+ return i += 1, e;
1005
+ }, o = (e) => {
1006
+ let t = "";
1007
+ for (let i of e) {
1008
+ let e = n(i), o = r.get(e);
1009
+ o === void 0 && (o = a(), r.set(e, o)), t += o;
1010
+ }
1011
+ return t;
1012
+ }, s = o(e), c = o(t), l = new G.default().diff_main(s, c), u = [], d = 0, f = 0;
1013
+ for (let [n, r] of l) for (let i of r) n === G.default.DIFF_EQUAL ? (u.push({
1014
+ type: "EQUAL",
1015
+ oldItem: e[d],
1016
+ newItem: t[f]
1017
+ }), d += 1, f += 1) : n === G.default.DIFF_DELETE ? (u.push({
1018
+ type: "DELETE",
1019
+ oldItem: e[d]
1020
+ }), d += 1) : (u.push({
1021
+ type: "INSERT",
1022
+ newItem: t[f]
1023
+ }), f += 1);
1024
+ return u;
1025
+ }
1026
+ function Z(e, t) {
1027
+ let n = new G.default(), r = n.diff_main(e, t);
1028
+ return n.diff_cleanupSemantic(r), r.map(([e, t]) => ({
1029
+ type: X(e),
1030
+ content: t,
1031
+ context: "INLINE"
1032
+ }));
1033
+ }
1034
+ function Q(e, t) {
1035
+ return e.kind === "text" ? {
1036
+ type: t,
1037
+ content: e.text,
1038
+ context: "INLINE"
1039
+ } : {
1040
+ type: t,
1041
+ content: J(e),
1042
+ context: q(e.tag)
1043
+ };
1044
+ }
1045
+ function $(e, t) {
1046
+ let n = ve({
1047
+ oldItems: e,
1048
+ newItems: t,
1049
+ key: Y
1050
+ }), r = [];
1051
+ for (let e = 0; e < n.length; e += 1) {
1052
+ let t = n[e];
1053
+ if (t.type === "EQUAL") {
1054
+ r.push(Q(t.oldItem, "EQUAL"));
1055
+ continue;
1056
+ }
1057
+ let i = n[e + 1];
1058
+ if (t.type === "DELETE" && i?.type === "INSERT") {
1059
+ let n = t.oldItem, a = i.newItem;
1060
+ if (n.kind === "element" && a.kind === "element" && n.tag === a.tag && n.openTag === a.openTag && n.closeTag === a.closeTag) {
1061
+ r.push({
1062
+ type: "EQUAL",
1063
+ content: n.openTag,
1064
+ context: q(n.tag)
1065
+ }, ...$(n.children, a.children)), n.closeTag && r.push({
1066
+ type: "EQUAL",
1067
+ content: n.closeTag,
1068
+ context: q(n.tag)
1069
+ }), e += 1;
1070
+ continue;
1071
+ }
1072
+ if (n.kind === "text" && a.kind === "text") {
1073
+ r.push(...Z(n.text, a.text)), e += 1;
1074
+ continue;
1075
+ }
1076
+ r.push(Q(n, "DELETE"), Q(a, "INSERT")), e += 1;
1077
+ continue;
1078
+ }
1079
+ if (t.type === "DELETE") {
1080
+ r.push(Q(t.oldItem, "DELETE"));
1081
+ continue;
1082
+ }
1083
+ r.push(Q(t.newItem, "INSERT"));
1084
+ }
1085
+ return r;
1086
+ }
1087
+ function ye(e) {
1088
+ let t = [];
1089
+ for (let n of e) {
1090
+ let e = t[t.length - 1];
1091
+ if (e && e.type === n.type && e.context === n.context) {
1092
+ e.content += n.content;
1093
+ continue;
1094
+ }
1095
+ t.push({ ...n });
1096
+ }
1097
+ return t;
1098
+ }
1099
+ function be(e, t, n) {
1100
+ let r = n?.htmlAware ?? !1, i = n?.raw ?? !1, a = [];
1101
+ if (r) {
1102
+ let n = K(e), r = K(t);
1103
+ a.push(...ye($(n, r)));
1104
+ } else {
1105
+ let n = new G.default(), r = n.diff_main(e, t);
1106
+ n.diff_cleanupSemantic(r);
1107
+ for (let [e, t] of r) a.push({
1108
+ content: t,
1109
+ type: X(e),
1110
+ context: "UNKNOWN"
1111
+ });
1112
+ }
1113
+ if (!i) {
1114
+ let e = "", t = ["", ""], i = ["", ""], o = ["<span data-diff=\"insert\">", "</span>"], s = ["<div data-diff=\"insert\">", "</div>"], c = ["<span data-diff=\"delete\">", "</span>"], l = ["<div data-diff=\"delete\">", "</div>"], u = (e, t) => {
1115
+ let n = t.equal, r = t.insert, i = t.delete;
1116
+ return typeof e.equal == "string" ? n = [e.equal, e.equal] : e.equal && (n = e.equal), typeof e.insert == "string" ? r = [e.insert, e.insert] : e.insert && (r = e.insert), typeof e.delete == "string" ? i = [e.delete, e.delete] : e.delete && (i = e.delete), {
1117
+ equalTags: n,
1118
+ insertTags: r,
1119
+ deleteTags: i
1120
+ };
1121
+ };
1122
+ if (n && "tags" in n && n.tags) {
1123
+ if ("inlineContext" in n.tags || "blockContext" in n.tags) {
1124
+ if (n.tags.inlineContext) {
1125
+ let e = u(n.tags.inlineContext, {
1126
+ equal: ["", ""],
1127
+ insert: ["<span data-diff=\"insert\">", "</span>"],
1128
+ delete: ["<span data-diff=\"delete\">", "</span>"]
1129
+ });
1130
+ t = e.equalTags, o = e.insertTags, c = e.deleteTags;
1131
+ }
1132
+ if (n.tags.blockContext) {
1133
+ let e = u(n.tags.blockContext, {
1134
+ equal: ["", ""],
1135
+ insert: ["<div data-diff=\"insert\">", "</div>"],
1136
+ delete: ["<div data-diff=\"delete\">", "</div>"]
1137
+ });
1138
+ i = e.equalTags, s = e.insertTags, l = e.deleteTags;
1139
+ }
1140
+ } else if ("equal" in n.tags || "insert" in n.tags || "delete" in n.tags) {
1141
+ if (r) {
1142
+ let e = u(n.tags, {
1143
+ equal: ["", ""],
1144
+ insert: ["<span data-diff=\"insert\">", "</span>"],
1145
+ delete: ["<span data-diff=\"delete\">", "</span>"]
1146
+ }), r = u(n.tags, {
1147
+ equal: ["", ""],
1148
+ insert: ["<div data-diff=\"insert\">", "</div>"],
1149
+ delete: ["<div data-diff=\"delete\">", "</div>"]
1150
+ });
1151
+ t = e.equalTags, i = r.equalTags, o = e.insertTags, s = r.insertTags, c = e.deleteTags, l = r.deleteTags;
1152
+ } else {
1153
+ let e = u(n.tags, {
1154
+ equal: ["", ""],
1155
+ insert: ["<span data-diff=\"insert\">", "</span>"],
1156
+ delete: ["<span data-diff=\"delete\">", "</span>"]
1157
+ });
1158
+ t = e.equalTags, i = e.equalTags, o = e.insertTags, s = e.insertTags, c = e.deleteTags, l = e.deleteTags;
1159
+ }
1160
+ }
1161
+ }
1162
+ for (let n of a) {
1163
+ let r, a;
1164
+ switch (n.type) {
1165
+ case "EQUAL":
1166
+ switch (n.context) {
1167
+ case "BLOCK":
1168
+ r = i[0], a = i[1];
1169
+ break;
1170
+ case "INLINE":
1171
+ case "UNKNOWN": r = t[0], a = t[1];
1172
+ }
1173
+ break;
1174
+ case "INSERT":
1175
+ switch (n.context) {
1176
+ case "BLOCK":
1177
+ r = s[0], a = s[1];
1178
+ break;
1179
+ case "INLINE":
1180
+ case "UNKNOWN": r = o[0], a = o[1];
1181
+ }
1182
+ break;
1183
+ case "DELETE": switch (n.context) {
1184
+ case "BLOCK":
1185
+ r = l[0], a = l[1];
1186
+ break;
1187
+ case "INLINE":
1188
+ case "UNKNOWN": r = c[0], a = c[1];
1189
+ }
1190
+ }
1191
+ e += `${r}${n.content}${a}`;
1192
+ }
1193
+ return e;
1194
+ }
1195
+ return a;
1196
+ }
1197
+ //#endregion
1198
+ export { u as ClusterUtilError, g as ListUtilError, M as RangeUtilError, w as RetryUtilError, E as UtilError, F as camelCase, I as capitalize, x as chain, d as cluster, O as compute, f as counting, P as customCase, S as defer, re as entries, p as fork, L as httpHeaderCase, L as trainCase, D as isComputation, A as isEmpty, ie as isObject, j as isPrimitive, R as kebabCase, ae as keys, _ as list, B as lowerCase, oe as omit, de as parseUrlParams, V as pascalCase, se as pick, N as range, T as retry, z as screamingKebabCase, U as screamingSnakeCase, v as select, y as sift, ee as sleep, fe as slug, H as snakeCase, be as textDifference, W as titleCase, te as toFloat, ne as toInt, b as toggle, le as uncapitalize, ue as upperCase };