@highlight-run/rrweb 2.0.10 → 2.0.11
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/dist/plugins/console-record.js +5 -5
- package/dist/plugins/console-record.min.js +5 -5
- package/dist/plugins/console-record.min.js.map +1 -1
- package/dist/plugins/console-replay.js +3 -3
- package/dist/plugins/console-replay.min.js +3 -3
- package/dist/plugins/console-replay.min.js.map +1 -1
- package/dist/record/rrweb-record-pack.js +2 -2
- package/dist/record/rrweb-record-pack.min.js +2 -2
- package/dist/record/rrweb-record-pack.min.js.map +1 -1
- package/dist/record/rrweb-record.js +3 -3
- package/dist/record/rrweb-record.min.js +3 -3
- package/dist/record/rrweb-record.min.js.map +1 -1
- package/dist/replay/rrweb-replay-unpack.js +3 -4
- package/dist/replay/rrweb-replay-unpack.min.js +3 -4
- package/dist/replay/rrweb-replay-unpack.min.js.map +1 -1
- package/dist/replay/rrweb-replay.js +3 -4
- package/dist/replay/rrweb-replay.min.js +3 -4
- package/dist/replay/rrweb-replay.min.js.map +1 -1
- package/dist/rrweb-all.js +24 -25
- package/dist/rrweb-all.min.js +24 -25
- package/dist/rrweb-all.min.js.map +1 -1
- package/dist/rrweb.js +14 -15
- package/dist/rrweb.min.js +14 -15
- package/dist/rrweb.min.js.map +1 -1
- package/es/rrweb/packages/rrdom/es/virtual-dom.js +14 -76
- package/es/rrweb/packages/rrweb/src/index.js +1 -1
- package/es/rrweb/packages/rrweb/src/record/index.js +1 -1
- package/es/rrweb/packages/rrweb/src/record/mutation.js +1 -1
- package/es/rrweb/packages/rrweb/src/record/observer.js +1 -1
- package/es/rrweb/packages/rrweb/src/replay/index.js +1 -1
- package/es/rrweb/packages/rrweb/src/utils.js +1 -1
- package/lib/plugins/console-record.js +1 -9
- package/lib/plugins/console-replay.js +1 -9
- package/lib/record/rrweb-record-pack.js +3 -9
- package/lib/record/rrweb-record.js +17 -1063
- package/lib/replay/rrweb-replay-unpack.js +59 -1011
- package/lib/replay/rrweb-replay.js +59 -1011
- package/lib/rrweb-all.js +100 -2032
- package/lib/rrweb.js +100 -2032
- package/package.json +2 -2
- package/es/rrweb/packages/rrweb-snapshot/es/rrweb-snapshot.js +0 -1871
|
@@ -1,66 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
(function (NodeType) {
|
|
3
|
-
NodeType[NodeType["Document"] = 0] = "Document";
|
|
4
|
-
NodeType[NodeType["DocumentType"] = 1] = "DocumentType";
|
|
5
|
-
NodeType[NodeType["Element"] = 2] = "Element";
|
|
6
|
-
NodeType[NodeType["Text"] = 3] = "Text";
|
|
7
|
-
NodeType[NodeType["CDATA"] = 4] = "CDATA";
|
|
8
|
-
NodeType[NodeType["Comment"] = 5] = "Comment";
|
|
9
|
-
})(NodeType$1 || (NodeType$1 = {}));
|
|
10
|
-
var Mirror$1 = (function () {
|
|
11
|
-
function Mirror() {
|
|
12
|
-
this.idNodeMap = new Map();
|
|
13
|
-
this.nodeMetaMap = new WeakMap();
|
|
14
|
-
}
|
|
15
|
-
Mirror.prototype.getId = function (n) {
|
|
16
|
-
var _a;
|
|
17
|
-
if (!n)
|
|
18
|
-
return -1;
|
|
19
|
-
var id = (_a = this.getMeta(n)) === null || _a === void 0 ? void 0 : _a.id;
|
|
20
|
-
return id !== null && id !== void 0 ? id : -1;
|
|
21
|
-
};
|
|
22
|
-
Mirror.prototype.getNode = function (id) {
|
|
23
|
-
return this.idNodeMap.get(id) || null;
|
|
24
|
-
};
|
|
25
|
-
Mirror.prototype.getIds = function () {
|
|
26
|
-
return Array.from(this.idNodeMap.keys());
|
|
27
|
-
};
|
|
28
|
-
Mirror.prototype.getMeta = function (n) {
|
|
29
|
-
return this.nodeMetaMap.get(n) || null;
|
|
30
|
-
};
|
|
31
|
-
Mirror.prototype.removeNodeFromMap = function (n) {
|
|
32
|
-
var _this = this;
|
|
33
|
-
var id = this.getId(n);
|
|
34
|
-
this.idNodeMap["delete"](id);
|
|
35
|
-
if (n.childNodes) {
|
|
36
|
-
n.childNodes.forEach(function (childNode) {
|
|
37
|
-
return _this.removeNodeFromMap(childNode);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
Mirror.prototype.has = function (id) {
|
|
42
|
-
return this.idNodeMap.has(id);
|
|
43
|
-
};
|
|
44
|
-
Mirror.prototype.hasNode = function (node) {
|
|
45
|
-
return this.nodeMetaMap.has(node);
|
|
46
|
-
};
|
|
47
|
-
Mirror.prototype.add = function (n, meta) {
|
|
48
|
-
var id = meta.id;
|
|
49
|
-
this.idNodeMap.set(id, n);
|
|
50
|
-
this.nodeMetaMap.set(n, meta);
|
|
51
|
-
};
|
|
52
|
-
Mirror.prototype.replace = function (id, n) {
|
|
53
|
-
this.idNodeMap.set(id, n);
|
|
54
|
-
};
|
|
55
|
-
Mirror.prototype.reset = function () {
|
|
56
|
-
this.idNodeMap = new Map();
|
|
57
|
-
this.nodeMetaMap = new WeakMap();
|
|
58
|
-
};
|
|
59
|
-
return Mirror;
|
|
60
|
-
}());
|
|
61
|
-
function createMirror$1() {
|
|
62
|
-
return new Mirror$1();
|
|
63
|
-
}
|
|
1
|
+
import { NodeType as NodeType$1, createMirror as createMirror$1 } from '@highlight-run/rrweb-snapshot';
|
|
64
2
|
|
|
65
3
|
function parseCSSText(cssText) {
|
|
66
4
|
const res = {};
|
|
@@ -624,7 +562,7 @@ function diffProps(oldTree, newTree, rrnodeMirror) {
|
|
|
624
562
|
newTree.scrollTop && (oldTree.scrollTop = newTree.scrollTop);
|
|
625
563
|
}
|
|
626
564
|
function diffChildren(oldChildren, newChildren, parentNode, replayer, rrnodeMirror) {
|
|
627
|
-
var _a
|
|
565
|
+
var _a;
|
|
628
566
|
let oldStartIndex = 0, oldEndIndex = oldChildren.length - 1, newStartIndex = 0, newEndIndex = newChildren.length - 1;
|
|
629
567
|
let oldStartNode = oldChildren[oldStartIndex], oldEndNode = oldChildren[oldEndIndex], newStartNode = newChildren[newStartIndex], newEndNode = newChildren[newEndIndex];
|
|
630
568
|
let oldIdToIndex = undefined, indexInOld;
|
|
@@ -648,24 +586,24 @@ function diffChildren(oldChildren, newChildren, parentNode, replayer, rrnodeMirr
|
|
|
648
586
|
else if (replayer.mirror.getId(oldStartNode) === rrnodeMirror.getId(newEndNode)) {
|
|
649
587
|
try {
|
|
650
588
|
parentNode.insertBefore(oldStartNode, oldEndNode.nextSibling);
|
|
651
|
-
}
|
|
652
|
-
catch (e) {
|
|
653
|
-
console.error(e, parentNode, oldStartNode, oldEndNode);
|
|
654
589
|
diff(oldStartNode, newEndNode, replayer, rrnodeMirror);
|
|
655
590
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
656
591
|
newEndNode = newChildren[--newEndIndex];
|
|
657
592
|
}
|
|
593
|
+
catch (e) {
|
|
594
|
+
console.error(e, parentNode, oldStartNode, oldEndNode);
|
|
595
|
+
}
|
|
658
596
|
}
|
|
659
597
|
else if (replayer.mirror.getId(oldEndNode) === rrnodeMirror.getId(newStartNode)) {
|
|
660
598
|
try {
|
|
661
599
|
parentNode.insertBefore(oldEndNode, oldStartNode);
|
|
662
|
-
}
|
|
663
|
-
catch (e) {
|
|
664
|
-
console.error(e, parentNode, oldEndNode, oldStartNode);
|
|
665
600
|
diff(oldEndNode, newStartNode, replayer, rrnodeMirror);
|
|
666
601
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
667
602
|
newStartNode = newChildren[++newStartIndex];
|
|
668
603
|
}
|
|
604
|
+
catch (e) {
|
|
605
|
+
console.error(e, parentNode, oldEndNode, oldStartNode);
|
|
606
|
+
}
|
|
669
607
|
}
|
|
670
608
|
else {
|
|
671
609
|
if (!oldIdToIndex) {
|
|
@@ -681,17 +619,17 @@ function diffChildren(oldChildren, newChildren, parentNode, replayer, rrnodeMirr
|
|
|
681
619
|
const nodeToMove = oldChildren[indexInOld];
|
|
682
620
|
try {
|
|
683
621
|
parentNode.insertBefore(nodeToMove, oldStartNode);
|
|
622
|
+
diff(nodeToMove, newStartNode, replayer, rrnodeMirror);
|
|
623
|
+
oldChildren[indexInOld] = undefined;
|
|
684
624
|
}
|
|
685
625
|
catch (e) {
|
|
686
626
|
console.error(e, parentNode, nodeToMove, oldStartNode);
|
|
687
|
-
diff(nodeToMove, newStartNode, replayer, rrnodeMirror);
|
|
688
|
-
oldChildren[indexInOld] = undefined;
|
|
689
627
|
}
|
|
690
628
|
}
|
|
691
629
|
else {
|
|
692
630
|
const newNode = createOrGetNode(newStartNode, replayer.mirror, rrnodeMirror);
|
|
693
|
-
if (
|
|
694
|
-
((
|
|
631
|
+
if (parentNode.nodeName === '#document' &&
|
|
632
|
+
((_a = replayer.mirror.getMeta(newNode)) === null || _a === void 0 ? void 0 : _a.type) === NodeType$1.Element &&
|
|
695
633
|
parentNode.documentElement) {
|
|
696
634
|
parentNode.removeChild(parentNode.documentElement);
|
|
697
635
|
oldChildren[oldStartIndex] = undefined;
|
|
@@ -699,10 +637,10 @@ function diffChildren(oldChildren, newChildren, parentNode, replayer, rrnodeMirr
|
|
|
699
637
|
}
|
|
700
638
|
try {
|
|
701
639
|
parentNode.insertBefore(newNode, oldStartNode || null);
|
|
640
|
+
diff(newNode, newStartNode, replayer, rrnodeMirror);
|
|
702
641
|
}
|
|
703
642
|
catch (e) {
|
|
704
643
|
console.error(e, parentNode, newNode, oldStartNode || null);
|
|
705
|
-
diff(newNode, newStartNode, replayer, rrnodeMirror);
|
|
706
644
|
}
|
|
707
645
|
}
|
|
708
646
|
newStartNode = newChildren[++newStartIndex];
|
|
@@ -720,10 +658,10 @@ function diffChildren(oldChildren, newChildren, parentNode, replayer, rrnodeMirr
|
|
|
720
658
|
const newNode = createOrGetNode(newChildren[newStartIndex], replayer.mirror, rrnodeMirror);
|
|
721
659
|
try {
|
|
722
660
|
parentNode.insertBefore(newNode, referenceNode);
|
|
661
|
+
diff(newNode, newChildren[newStartIndex], replayer, rrnodeMirror);
|
|
723
662
|
}
|
|
724
663
|
catch (e) {
|
|
725
664
|
console.error(e, parentNode, newNode, referenceNode);
|
|
726
|
-
diff(newNode, newChildren[newStartIndex], replayer, rrnodeMirror);
|
|
727
665
|
}
|
|
728
666
|
}
|
|
729
667
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import record from './record/index.js';
|
|
2
2
|
export { default as record } from './record/index.js';
|
|
3
|
-
import '
|
|
3
|
+
import '@highlight-run/rrweb-snapshot';
|
|
4
4
|
import '../../rrdom/es/virtual-dom.js';
|
|
5
5
|
export { EventType, IncrementalSource, MouseInteractions, ReplayerEvents } from './types.js';
|
|
6
6
|
import * as utils from './utils.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createMirror, snapshot } from '
|
|
1
|
+
import { createMirror, snapshot } from '@highlight-run/rrweb-snapshot';
|
|
2
2
|
import { initObservers, mutationBuffers } from './observer.js';
|
|
3
3
|
import { polyfill, on, getWindowWidth, getWindowHeight, isSerializedIframe, isSerializedStylesheet, hasShadowRoot } from '../utils.js';
|
|
4
4
|
import { EventType, IncrementalSource } from '../types.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { obfuscateText, isShadowRoot, maskInputValue, transformAttribute, needMaskingText, IGNORED_NODE, serializeNodeWithId } from '
|
|
1
|
+
import { obfuscateText, isShadowRoot, maskInputValue, transformAttribute, needMaskingText, IGNORED_NODE, serializeNodeWithId } from '@highlight-run/rrweb-snapshot';
|
|
2
2
|
import { isIgnored, isBlocked, isSerialized, isAncestorRemoved, isSerializedIframe, isSerializedStylesheet, hasShadowRoot } from '../utils.js';
|
|
3
3
|
|
|
4
4
|
function isNodeInLinkedList(n) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { maskInputValue } from '
|
|
1
|
+
import { maskInputValue } from '@highlight-run/rrweb-snapshot';
|
|
2
2
|
import { on, throttle, isBlocked, getWindowHeight, getWindowWidth, hookSetter, patch, isTouchEvent, isCanvasNode } from '../utils.js';
|
|
3
3
|
import { MouseInteractions, IncrementalSource } from '../types.js';
|
|
4
4
|
import MutationBuffer from './mutation.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from './../../../../ext/tslib/tslib.es6.js';
|
|
2
|
-
import { createCache, createMirror, rebuild, buildNodeWithSN, NodeType } from '
|
|
2
|
+
import { createCache, createMirror, rebuild, buildNodeWithSN, NodeType } from '@highlight-run/rrweb-snapshot';
|
|
3
3
|
import { RRDocument, diff, createOrGetNode, getDefaultSN, StyleRuleType, buildFromDom, buildFromNode } from '../../../rrdom/es/virtual-dom.js';
|
|
4
4
|
import * as mitt_es from './../../../../ext/mitt/dist/mitt.es.js';
|
|
5
5
|
import mitt$1 from './../../../../ext/mitt/dist/mitt.es.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { classMatchesRegex, IGNORED_NODE, isShadowRoot } from '
|
|
1
|
+
import { classMatchesRegex, IGNORED_NODE, isShadowRoot } from '@highlight-run/rrweb-snapshot';
|
|
2
2
|
|
|
3
3
|
function on(type, fn, target = document) {
|
|
4
4
|
const options = { capture: true, passive: true };
|
|
@@ -2,15 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
(function (NodeType) {
|
|
7
|
-
NodeType[NodeType["Document"] = 0] = "Document";
|
|
8
|
-
NodeType[NodeType["DocumentType"] = 1] = "DocumentType";
|
|
9
|
-
NodeType[NodeType["Element"] = 2] = "Element";
|
|
10
|
-
NodeType[NodeType["Text"] = 3] = "Text";
|
|
11
|
-
NodeType[NodeType["CDATA"] = 4] = "CDATA";
|
|
12
|
-
NodeType[NodeType["Comment"] = 5] = "Comment";
|
|
13
|
-
})(NodeType || (NodeType = {}));
|
|
5
|
+
require('@highlight-run/rrweb-snapshot');
|
|
14
6
|
|
|
15
7
|
const DEPARTED_MIRROR_ACCESS_WARNING = 'Please stop import mirror directly. Instead of that,' +
|
|
16
8
|
'\r\n' +
|
|
@@ -2,15 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
(function (NodeType) {
|
|
7
|
-
NodeType[NodeType["Document"] = 0] = "Document";
|
|
8
|
-
NodeType[NodeType["DocumentType"] = 1] = "DocumentType";
|
|
9
|
-
NodeType[NodeType["Element"] = 2] = "Element";
|
|
10
|
-
NodeType[NodeType["Text"] = 3] = "Text";
|
|
11
|
-
NodeType[NodeType["CDATA"] = 4] = "CDATA";
|
|
12
|
-
NodeType[NodeType["Comment"] = 5] = "Comment";
|
|
13
|
-
})(NodeType || (NodeType = {}));
|
|
5
|
+
require('@highlight-run/rrweb-snapshot');
|
|
14
6
|
|
|
15
7
|
const DEPARTED_MIRROR_ACCESS_WARNING = 'Please stop import mirror directly. Instead of that,' +
|
|
16
8
|
'\r\n' +
|
|
@@ -2,15 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
(function (NodeType) {
|
|
7
|
-
NodeType[NodeType["Document"] = 0] = "Document";
|
|
8
|
-
NodeType[NodeType["DocumentType"] = 1] = "DocumentType";
|
|
9
|
-
NodeType[NodeType["Element"] = 2] = "Element";
|
|
10
|
-
NodeType[NodeType["Text"] = 3] = "Text";
|
|
11
|
-
NodeType[NodeType["CDATA"] = 4] = "CDATA";
|
|
12
|
-
NodeType[NodeType["Comment"] = 5] = "Comment";
|
|
13
|
-
})(NodeType || (NodeType = {}));
|
|
5
|
+
var rrwebSnapshot = require('@highlight-run/rrweb-snapshot');
|
|
14
6
|
|
|
15
7
|
const DEPARTED_MIRROR_ACCESS_WARNING = 'Please stop import mirror directly. Instead of that,' +
|
|
16
8
|
'\r\n' +
|
|
@@ -206,6 +198,8 @@ function createBase64WorkerFactory(base64, sourcemapArg, enableUnicodeArg) {
|
|
|
206
198
|
createBase64WorkerFactory('Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KDQogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLg0KDQogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgNCiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkNCiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsDQogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NDQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1INCiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SDQogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLw0KDQogICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikgew0KICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH0NCiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7DQogICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfQ0KICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpOw0KICAgICAgICB9KTsNCiAgICB9CgogICAgLyoKICAgICAqIGJhc2U2NC1hcnJheWJ1ZmZlciAxLjAuMSA8aHR0cHM6Ly9naXRodWIuY29tL25pa2xhc3ZoL2Jhc2U2NC1hcnJheWJ1ZmZlcj4KICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBOaWtsYXMgdm9uIEhlcnR6ZW4gPGh0dHBzOi8vaGVydHplbi5jb20+CiAgICAgKiBSZWxlYXNlZCB1bmRlciBNSVQgTGljZW5zZQogICAgICovCiAgICB2YXIgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7CiAgICAvLyBVc2UgYSBsb29rdXAgdGFibGUgdG8gZmluZCB0aGUgaW5kZXguCiAgICB2YXIgbG9va3VwID0gdHlwZW9mIFVpbnQ4QXJyYXkgPT09ICd1bmRlZmluZWQnID8gW10gOiBuZXcgVWludDhBcnJheSgyNTYpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFycy5sZW5ndGg7IGkrKykgewogICAgICAgIGxvb2t1cFtjaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7CiAgICB9CiAgICB2YXIgZW5jb2RlID0gZnVuY3Rpb24gKGFycmF5YnVmZmVyKSB7CiAgICAgICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIpLCBpLCBsZW4gPSBieXRlcy5sZW5ndGgsIGJhc2U2NCA9ICcnOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkgKz0gMykgewogICAgICAgICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaV0gPj4gMl07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1soKGJ5dGVzW2ldICYgMykgPDwgNCkgfCAoYnl0ZXNbaSArIDFdID4+IDQpXTsKICAgICAgICAgICAgYmFzZTY0ICs9IGNoYXJzWygoYnl0ZXNbaSArIDFdICYgMTUpIDw8IDIpIHwgKGJ5dGVzW2kgKyAyXSA+PiA2KV07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1tieXRlc1tpICsgMl0gJiA2M107CiAgICAgICAgfQogICAgICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgJz0nOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgJz09JzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGJhc2U2NDsKICAgIH07CgogICAgY29uc3QgbGFzdEJsb2JNYXAgPSBuZXcgTWFwKCk7DQogICAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gbmV3IE1hcCgpOw0KICAgIGZ1bmN0aW9uIGdldFRyYW5zcGFyZW50QmxvYkZvcih3aWR0aCwgaGVpZ2h0KSB7DQogICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7DQogICAgICAgICAgICBjb25zdCBpZCA9IGAke3dpZHRofS0ke2hlaWdodH1gOw0KICAgICAgICAgICAgaWYgKHRyYW5zcGFyZW50QmxvYk1hcC5oYXMoaWQpKQ0KICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsNCiAgICAgICAgICAgIGNvbnN0IG9mZnNjcmVlbiA9IG5ldyBPZmZzY3JlZW5DYW52YXMod2lkdGgsIGhlaWdodCk7DQogICAgICAgICAgICBvZmZzY3JlZW4uZ2V0Q29udGV4dCgnMmQnKTsNCiAgICAgICAgICAgIGNvbnN0IGJsb2IgPSB5aWVsZCBvZmZzY3JlZW4uY29udmVydFRvQmxvYigpOw0KICAgICAgICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSB5aWVsZCBibG9iLmFycmF5QnVmZmVyKCk7DQogICAgICAgICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOw0KICAgICAgICAgICAgdHJhbnNwYXJlbnRCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgIHJldHVybiBiYXNlNjQ7DQogICAgICAgIH0pOw0KICAgIH0NCiAgICBjb25zdCB3b3JrZXIgPSBzZWxmOw0KICAgIHdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZSkgew0KICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkgew0KICAgICAgICAgICAgaWYgKCEoJ09mZnNjcmVlbkNhbnZhcycgaW4gZ2xvYmFsVGhpcykpDQogICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtlci5wb3N0TWVzc2FnZSh7IGlkOiBlLmRhdGEuaWQgfSk7DQogICAgICAgICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQgfSA9IGUuZGF0YTsNCiAgICAgICAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKHdpZHRoLCBoZWlnaHQpOw0KICAgICAgICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsNCiAgICAgICAgICAgIGNvbnN0IGN0eCA9IG9mZnNjcmVlbi5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOw0KICAgICAgICAgICAgYml0bWFwLmNsb3NlKCk7DQogICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoKTsNCiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBibG9iLnR5cGU7DQogICAgICAgICAgICBjb25zdCBhcnJheUJ1ZmZlciA9IHlpZWxkIGJsb2IuYXJyYXlCdWZmZXIoKTsNCiAgICAgICAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7DQogICAgICAgICAgICBpZiAoIWxhc3RCbG9iTWFwLmhhcyhpZCkgJiYgKHlpZWxkIHRyYW5zcGFyZW50QmFzZTY0KSA9PT0gYmFzZTY0KSB7DQogICAgICAgICAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOw0KICAgICAgICAgICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChsYXN0QmxvYk1hcC5nZXQoaWQpID09PSBiYXNlNjQpDQogICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtlci5wb3N0TWVzc2FnZSh7IGlkIH0pOw0KICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICBpZCwNCiAgICAgICAgICAgICAgICB0eXBlLA0KICAgICAgICAgICAgICAgIGJhc2U2NCwNCiAgICAgICAgICAgICAgICB3aWR0aCwNCiAgICAgICAgICAgICAgICBoZWlnaHQsDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGxhc3RCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgfSk7DQogICAgfTsKCn0pKCk7Cgo=', null, false);
|
|
207
199
|
/* eslint-enable */
|
|
208
200
|
|
|
201
|
+
rrwebSnapshot.createMirror();
|
|
202
|
+
|
|
209
203
|
// DEFLATE is a complex format; to read this code, you should probably check the RFC first:
|
|
210
204
|
|
|
211
205
|
// aliases for shorter compressed code (most minifers don't do this)
|