@worktile/planet 16.0.0-next.0 → 17.0.0-next.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 (75) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/application/ng-planet-application-ref.d.ts +48 -0
  3. package/application/ng-planet-application-ref.d.ts.map +1 -0
  4. package/application/planet-application-ref.d.ts +3 -27
  5. package/application/planet-application-ref.d.ts.map +1 -1
  6. package/component/planet-component-loader.d.ts.map +1 -1
  7. package/component/planet-component-outlet.d.ts +1 -1
  8. package/esm2022/application/ng-planet-application-ref.mjs +106 -0
  9. package/esm2022/application/planet-application-loader.mjs +454 -0
  10. package/esm2022/application/planet-application-ref.mjs +2 -0
  11. package/esm2022/application/planet-application.service.mjs +85 -0
  12. package/esm2022/assets-loader.mjs +216 -0
  13. package/esm2022/component/planet-component-loader.mjs +171 -0
  14. package/esm2022/component/planet-component-outlet.mjs +69 -0
  15. package/esm2022/debug.mjs +33 -0
  16. package/{esm2020 → esm2022}/empty/empty.component.mjs +4 -4
  17. package/esm2022/global-event-dispatcher.mjs +70 -0
  18. package/esm2022/global-planet.mjs +63 -0
  19. package/esm2022/helpers.mjs +119 -0
  20. package/esm2022/module.mjs +33 -0
  21. package/esm2022/planet.mjs +91 -0
  22. package/esm2022/public-api.mjs +19 -0
  23. package/esm2022/router/route-redirect.mjs +63 -0
  24. package/{esm2020 → esm2022}/sandbox/index.mjs +1 -1
  25. package/esm2022/sandbox/proxy/patches/eventListener.mjs +41 -0
  26. package/esm2022/sandbox/proxy/proxies/common.mjs +132 -0
  27. package/esm2022/sandbox/proxy/proxies/document.mjs +126 -0
  28. package/esm2022/sandbox/proxy/proxies/window.mjs +158 -0
  29. package/esm2022/sandbox/proxy/proxy-sandbox.mjs +49 -0
  30. package/esm2022/sandbox/snapshot/snapshot-sandbox.mjs +12 -0
  31. package/{fesm2020 → fesm2022}/worktile-planet.mjs +96 -73
  32. package/fesm2022/worktile-planet.mjs.map +1 -0
  33. package/global-planet.d.ts +4 -2
  34. package/global-planet.d.ts.map +1 -1
  35. package/package.json +7 -13
  36. package/sandbox/proxy/patches/eventListener.d.ts.map +1 -1
  37. package/sandbox/proxy/proxy-sandbox.d.ts.map +1 -1
  38. package/sandbox/snapshot/snapshot-sandbox.d.ts.map +1 -1
  39. package/esm2020/application/planet-application-loader.mjs +0 -454
  40. package/esm2020/application/planet-application-ref.mjs +0 -94
  41. package/esm2020/application/planet-application.service.mjs +0 -85
  42. package/esm2020/assets-loader.mjs +0 -216
  43. package/esm2020/component/planet-component-loader.mjs +0 -170
  44. package/esm2020/component/planet-component-outlet.mjs +0 -69
  45. package/esm2020/debug.mjs +0 -33
  46. package/esm2020/global-event-dispatcher.mjs +0 -70
  47. package/esm2020/global-planet.mjs +0 -53
  48. package/esm2020/helpers.mjs +0 -119
  49. package/esm2020/module.mjs +0 -33
  50. package/esm2020/planet.mjs +0 -91
  51. package/esm2020/public-api.mjs +0 -20
  52. package/esm2020/router/route-redirect.mjs +0 -63
  53. package/esm2020/sandbox/proxy/patches/eventListener.mjs +0 -41
  54. package/esm2020/sandbox/proxy/proxies/common.mjs +0 -132
  55. package/esm2020/sandbox/proxy/proxies/document.mjs +0 -126
  56. package/esm2020/sandbox/proxy/proxies/window.mjs +0 -158
  57. package/esm2020/sandbox/proxy/proxy-sandbox.mjs +0 -49
  58. package/esm2020/sandbox/snapshot/snapshot-sandbox.mjs +0 -12
  59. package/fesm2015/worktile-planet.mjs +0 -2193
  60. package/fesm2015/worktile-planet.mjs.map +0 -1
  61. package/fesm2020/worktile-planet.mjs.map +0 -1
  62. /package/{esm2020 → esm2022}/application/portal-application.mjs +0 -0
  63. /package/{esm2020 → esm2022}/component/planet-component-ref.mjs +0 -0
  64. /package/{esm2020 → esm2022}/component/plant-component.config.mjs +0 -0
  65. /package/{esm2020 → esm2022}/planet.class.mjs +0 -0
  66. /package/{esm2020 → esm2022}/sandbox/constants.mjs +0 -0
  67. /package/{esm2020 → esm2022}/sandbox/exec.mjs +0 -0
  68. /package/{esm2020 → esm2022}/sandbox/proxy/patches/document.mjs +0 -0
  69. /package/{esm2020 → esm2022}/sandbox/proxy/patches/index.mjs +0 -0
  70. /package/{esm2020 → esm2022}/sandbox/proxy/patches/storage.mjs +0 -0
  71. /package/{esm2020 → esm2022}/sandbox/proxy/patches/timer.mjs +0 -0
  72. /package/{esm2020 → esm2022}/sandbox/proxy/types.mjs +0 -0
  73. /package/{esm2020 → esm2022}/sandbox/sandbox.mjs +0 -0
  74. /package/{esm2020 → esm2022}/sandbox/types.mjs +0 -0
  75. /package/{esm2020 → esm2022}/worktile-planet.mjs +0 -0
@@ -1,158 +0,0 @@
1
- import { hasOwnProp, createFakeObject, bind, isInvalidSetAccessor, isNonWriteableValue, isInvalidGetAccessor } from './common';
2
- import { PLANET_SANDBOX_WINDOW_WHITELIST, SANDBOX_INSTANCE, WINDOW_BIND_FN } from '../../constants';
3
- import { isFunction } from '../../../helpers';
4
- const esGlobalFunctions = ('eval,isFinite,isNaN,parseFloat,parseInt,' +
5
- // URL handling functions
6
- 'decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +
7
- // Constructor properties of the global object
8
- 'Array,ArrayBuffer,BigInt,BigInt64Array,BigUint64Array,Boolean,DataView,Date,Error,EvalError,' +
9
- 'FinalizationRegistry,Float32Array,Float64Array,Function,Int8Array,Int16Array,Int32Array,Map,Number,' +
10
- 'Object,Promise,Proxy,RangeError,ReferenceError,RegExp,Set,SharedArrayBuffer,String,Symbol,SyntaxError,' +
11
- 'TypeError,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,URIError,WeakMap,WeakRef,WeakSet,' +
12
- // Other Properties of the Global Object
13
- 'Atomics,JSON,Math,Reflect').split(',');
14
- const whitelistVariables = PLANET_SANDBOX_WINDOW_WHITELIST || [];
15
- function isConstructor(fn) {
16
- const fp = fn.prototype;
17
- const hasConstructor = fp && fp.constructor === fn && Object.getOwnPropertyNames(fp).length > 1;
18
- const functionStr = !hasConstructor && fn.toString();
19
- return hasConstructor || /^function\s+[A-Z]/.test(functionStr) || /^class\b/.test(functionStr);
20
- }
21
- const unscopables = {
22
- undefined: true,
23
- Array: true,
24
- Object: true,
25
- String: true,
26
- Boolean: true,
27
- Math: true,
28
- Number: true,
29
- Symbol: true,
30
- parseFloat: true,
31
- Float32Array: true
32
- };
33
- export class ProxyWindow {
34
- constructor(sandbox) {
35
- this.sandbox = sandbox;
36
- this.definedVariables = new Set();
37
- }
38
- createGetter() {
39
- return (target, key, receiver) => {
40
- if (key === Symbol.unscopables) {
41
- return unscopables;
42
- }
43
- if (key === SANDBOX_INSTANCE) {
44
- return this.sandbox;
45
- }
46
- let value = null;
47
- if (whitelistVariables.includes(key)) {
48
- return Reflect.get(window, key);
49
- }
50
- else {
51
- value = hasOwnProp(target, key) ? Reflect.get(target, key, receiver) : Reflect.get(window, key);
52
- }
53
- if (isFunction(value)) {
54
- if (esGlobalFunctions.includes(key) ||
55
- whitelistVariables.includes(key) ||
56
- this.sandbox.rewriteVariables.includes(key) ||
57
- this.definedVariables.has(key) ||
58
- isConstructor(value)) {
59
- return value;
60
- }
61
- else {
62
- const newValue = hasOwnProp(value, WINDOW_BIND_FN) ? value[WINDOW_BIND_FN] : bind(value, window);
63
- const desc = Object.getOwnPropertyDescriptor(target, key);
64
- if (isNonWriteableValue(desc)) {
65
- return value;
66
- }
67
- if (isInvalidGetAccessor(desc)) {
68
- return undefined;
69
- }
70
- value[WINDOW_BIND_FN] = newValue;
71
- return newValue;
72
- }
73
- }
74
- else {
75
- return value;
76
- }
77
- };
78
- }
79
- createSetter() {
80
- return (target, key, value, receiver) => {
81
- const desc = Object.getOwnPropertyDescriptor(whitelistVariables.includes(key) ? window : receiver ? receiver : target, key);
82
- if (desc && isNonWriteableValue(desc)) {
83
- if (!Object.is(value, desc.value)) {
84
- return false;
85
- }
86
- else {
87
- return true;
88
- }
89
- }
90
- if (isInvalidSetAccessor(desc)) {
91
- return false;
92
- }
93
- if (whitelistVariables.includes(key)) {
94
- return Reflect.set(window, key, value);
95
- }
96
- else {
97
- const success = Reflect.set(target, key, value, receiver);
98
- if (success) {
99
- if (this.sandbox.running) {
100
- this.definedVariables.add(key);
101
- }
102
- }
103
- return success;
104
- }
105
- };
106
- }
107
- createDefineProperty() {
108
- return (target, p, descriptor) => {
109
- if (whitelistVariables.includes(p)) {
110
- return Reflect.defineProperty(window, p, descriptor);
111
- }
112
- else {
113
- const success = Reflect.defineProperty(target, p, descriptor);
114
- if (this.sandbox.running && success) {
115
- this.definedVariables.add(p);
116
- }
117
- return success;
118
- }
119
- };
120
- }
121
- createDeleteProperty() {
122
- return (target, p) => {
123
- if (hasOwnProp(target, p)) {
124
- delete target[p];
125
- if (this.sandbox.running && this.definedVariables.has(p)) {
126
- this.definedVariables.delete(p);
127
- }
128
- }
129
- return true;
130
- };
131
- }
132
- createHas() {
133
- return (_target, key) => {
134
- return !whitelistVariables.includes(key);
135
- };
136
- }
137
- create() {
138
- const fakeWindow = createFakeObject(window, this.sandbox.rewriteVariables);
139
- const baseHandlers = {
140
- get: this.createGetter(),
141
- set: this.createSetter(),
142
- defineProperty: this.createDefineProperty(),
143
- deleteProperty: this.createDeleteProperty()
144
- };
145
- const proxy = new Proxy(fakeWindow, {
146
- ...baseHandlers,
147
- has: this.createHas()
148
- });
149
- const subProxy = new Proxy(fakeWindow, baseHandlers);
150
- proxy.self = subProxy;
151
- proxy.window = subProxy;
152
- proxy.globalThis = subProxy;
153
- proxy.top = window.top === window ? subProxy : window.top;
154
- proxy.parent = window.parent === window ? subProxy : window.top;
155
- return proxy;
156
- }
157
- }
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9zYW5kYm94L3Byb3h5L3Byb3hpZXMvd2luZG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLElBQUksRUFDSixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUN2QixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsK0JBQStCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzlDLE1BQU0saUJBQWlCLEdBQWtCLENBQ3JDLDBDQUEwQztJQUMxQyx5QkFBeUI7SUFDekIsNERBQTREO0lBQzVELDhDQUE4QztJQUM5Qyw4RkFBOEY7SUFDOUYscUdBQXFHO0lBQ3JHLHdHQUF3RztJQUN4RyxrR0FBa0c7SUFDbEcsd0NBQXdDO0lBQ3hDLDJCQUEyQixDQUM5QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUViLE1BQU0sa0JBQWtCLEdBQUcsK0JBQStCLElBQUksRUFBRSxDQUFDO0FBRWpFLFNBQVMsYUFBYSxDQUFDLEVBQW9DO0lBQ3ZELE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDeEIsTUFBTSxjQUFjLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2hHLE1BQU0sV0FBVyxHQUFHLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyRCxPQUFPLGNBQWMsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBcUIsQ0FB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LEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3hCLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3hCLGNBQWMsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDM0MsY0FBYyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtTQUM5QyxDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ2hDLEdBQUcsWUFBWTtZQUNmLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO1NBQ3hCLENBQUMsQ0FBQztRQUNILE1BQU0sUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNyRCxLQUFLLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUN0QixLQUFLLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztRQUN4QixLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztRQUM1QixLQUFLLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDMUQsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ2hFLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgaGFzT3duUHJvcCxcbiAgICBjcmVhdGVGYWtlT2JqZWN0LFxuICAgIGJpbmQsXG4gICAgaXNJbnZhbGlkU2V0QWNjZXNzb3IsXG4gICAgaXNOb25Xcml0ZWFibGVWYWx1ZSxcbiAgICBpc0ludmFsaWRHZXRBY2Nlc3NvclxufSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBQTEFORVRfU0FOREJPWF9XSU5ET1dfV0hJVEVMSVNULCBTQU5EQk9YX0lOU1RBTkNFLCBXSU5ET1dfQklORF9GTiB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaGVscGVycyc7XG5pbXBvcnQgeyBQcm94eVNhbmRib3hJbnN0YW5jZSB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgZXNHbG9iYWxGdW5jdGlvbnM6IFByb3BlcnR5S2V5W10gPSAoXG4gICAgJ2V2YWwsaXNGaW5pdGUsaXNOYU4scGFyc2VGbG9hdCxwYXJzZUludCwnICtcbiAgICAvLyBVUkwgaGFuZGxpbmcgZnVuY3Rpb25zXG4gICAgJ2RlY29kZVVSSSxkZWNvZGVVUklDb21wb25lbnQsZW5jb2RlVVJJLGVuY29kZVVSSUNvbXBvbmVudCwnICtcbiAgICAvLyBDb25zdHJ1Y3RvciBwcm9wZXJ0aWVzIG9mIHRoZSBnbG9iYWwgb2JqZWN0XG4gICAgJ0FycmF5LEFycmF5QnVmZmVyLEJpZ0ludCxCaWdJbnQ2NEFycmF5LEJpZ1VpbnQ2NEFycmF5LEJvb2xlYW4sRGF0YVZpZXcsRGF0ZSxFcnJvcixFdmFsRXJyb3IsJyArXG4gICAgJ0ZpbmFsaXphdGlvblJlZ2lzdHJ5LEZsb2F0MzJBcnJheSxGbG9hdDY0QXJyYXksRnVuY3Rpb24sSW50OEFycmF5LEludDE2QXJyYXksSW50MzJBcnJheSxNYXAsTnVtYmVyLCcgK1xuICAgICdPYmplY3QsUHJvbWlzZSxQcm94eSxSYW5nZUVycm9yLFJlZmVyZW5jZUVycm9yLFJlZ0V4cCxTZXQsU2hhcmVkQXJyYXlCdWZmZXIsU3RyaW5nLFN5bWJvbCxTeW50YXhFcnJvciwnICtcbiAgICAnVHlwZUVycm9yLFVpbnQ4QXJyYXksVWludDhDbGFtcGVkQXJyYXksVWludDE2QXJyYXksVWludDMyQXJyYXksVVJJRXJyb3IsV2Vha01hcCxXZWFrUmVmLFdlYWtTZXQsJyArXG4gICAgLy8gT3RoZXIgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdFxuICAgICdBdG9taWNzLEpTT04sTWF0aCxSZWZsZWN0J1xuKS5zcGxpdCgnLCcpO1xuXG5jb25zdCB3aGl0ZWxpc3RWYXJpYWJsZXMgPSBQTEFORVRfU0FOREJPWF9XSU5ET1dfV0hJVEVMSVNUIHx8IFtdO1xuXG5mdW5jdGlvbiBpc0NvbnN0cnVjdG9yKGZuOiAoKSA9PiB2b2lkIHwgRnVuY3Rpb25Db25zdHJ1Y3Rvcikge1xuICAgIGNvbnN0IGZwID0gZm4ucHJvdG90eXBlO1xuICAgIGNvbnN0IGhhc0NvbnN0cnVjdG9yID0gZnAgJiYgZnAuY29uc3RydWN0b3IgPT09IGZuICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGZwKS5sZW5ndGggPiAxO1xuICAgIGNvbnN0IGZ1bmN0aW9uU3RyID0gIWhhc0NvbnN0cnVjdG9yICYmIGZuLnRvU3RyaW5nKCk7XG4gICAgcmV0dXJuIGhhc0NvbnN0cnVjdG9yIHx8IC9eZnVuY3Rpb25cXHMrW0EtWl0vLnRlc3QoZnVuY3Rpb25TdHIgYXMgc3RyaW5nKSB8fCAvXmNsYXNzXFxiLy50ZXN0KGZ1bmN0aW9uU3RyIGFzIHN0cmluZyk7XG59XG5cbmNvbnN0IHVuc2NvcGFibGVzID0ge1xuICAgIHVuZGVmaW5lZDogdHJ1ZSxcbiAgICBBcnJheTogdHJ1ZSxcbiAgICBPYmplY3Q6IHRydWUsXG4gICAgU3RyaW5nOiB0cnVlLFxuICAgIEJvb2xlYW46IHRydWUsXG4gICAgTWF0aDogdHJ1ZSxcbiAgICBOdW1iZXI6IHRydWUsXG4gICAgU3ltYm9sOiB0cnVlLFxuICAgIHBhcnNlRmxvYXQ6IHRydWUsXG4gICAgRmxvYXQzMkFycmF5OiB0cnVlXG59O1xuXG5leHBvcnQgY2xhc3MgUHJveHlXaW5kb3cge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuZGJveDogUHJveHlTYW5kYm94SW5zdGFuY2UpIHt9XG5cbiAgICBwcml2YXRlIGRlZmluZWRWYXJpYWJsZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBwcml2YXRlIGNyZWF0ZUdldHRlcigpIHtcbiAgICAgICAgcmV0dXJuICh0YXJnZXQ6IFdpbmRvdywga2V5OiBQcm9wZXJ0eUtleSwgcmVjZWl2ZXI6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gU3ltYm9sLnVuc2NvcGFibGVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuc2NvcGFibGVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGtleSA9PT0gU0FOREJPWF9JTlNUQU5DRSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNhbmRib3g7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgaWYgKHdoaXRlbGlzdFZhcmlhYmxlcy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0KHdpbmRvdywga2V5KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBoYXNPd25Qcm9wKHRhcmdldCwga2V5KSA/IFJlZmxlY3QuZ2V0KHRhcmdldCwga2V5LCByZWNlaXZlcikgOiBSZWZsZWN0LmdldCh3aW5kb3csIGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNGdW5jdGlvbih2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIGVzR2xvYmFsRnVuY3Rpb25zLmluY2x1ZGVzKGtleSkgfHxcbiAgICAgICAgICAgICAgICAgICAgd2hpdGVsaXN0VmFyaWFibGVzLmluY2x1ZGVzKGtleSkgfHxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zYW5kYm94LnJld3JpdGVWYXJpYWJsZXMuaW5jbHVkZXMoa2V5KSB8fFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmluZWRWYXJpYWJsZXMuaGFzKGtleSkgfHxcbiAgICAgICAgICAgICAgICAgICAgaXNDb25zdHJ1Y3Rvcih2YWx1ZSlcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gaGFzT3duUHJvcCh2YWx1ZSwgV0lORE9XX0JJTkRfRk4pID8gdmFsdWVbV0lORE9XX0JJTkRfRk5dIDogYmluZCh2YWx1ZSwgd2luZG93KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNOb25Xcml0ZWFibGVWYWx1ZShkZXNjKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0ludmFsaWRHZXRBY2Nlc3NvcihkZXNjKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZVtXSU5ET1dfQklORF9GTl0gPSBuZXdWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ld1ZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlU2V0dGVyKCkge1xuICAgICAgICByZXR1cm4gKHRhcmdldDogV2luZG93LCBrZXk6IFByb3BlcnR5S2V5LCB2YWx1ZTogdW5rbm93biwgcmVjZWl2ZXI6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gICAgICAgICAgICAgICAgd2hpdGVsaXN0VmFyaWFibGVzLmluY2x1ZGVzKGtleSkgPyB3aW5kb3cgOiByZWNlaXZlciA/IHJlY2VpdmVyIDogdGFyZ2V0LFxuICAgICAgICAgICAgICAgIGtleVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChkZXNjICYmIGlzTm9uV3JpdGVhYmxlVmFsdWUoZGVzYykpIHtcbiAgICAgICAgICAgICAgICBpZiAoIU9iamVjdC5pcyh2YWx1ZSwgZGVzYy52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ludmFsaWRTZXRBY2Nlc3NvcihkZXNjKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh3aGl0ZWxpc3RWYXJpYWJsZXMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBSZWZsZWN0LnNldCh3aW5kb3csIGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdWNjZXNzID0gUmVmbGVjdC5zZXQodGFyZ2V0LCBrZXksIHZhbHVlLCByZWNlaXZlcik7XG4gICAgICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2FuZGJveC5ydW5uaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmluZWRWYXJpYWJsZXMuYWRkKGtleSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVEZWZpbmVQcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuICh0YXJnZXQ6IFdpbmRvdywgcDogUHJvcGVydHlLZXksIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcikgPT4ge1xuICAgICAgICAgICAgaWYgKHdoaXRlbGlzdFZhcmlhYmxlcy5pbmNsdWRlcyhwKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBSZWZsZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdywgcCwgZGVzY3JpcHRvcik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBSZWZsZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcCwgZGVzY3JpcHRvcik7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2FuZGJveC5ydW5uaW5nICYmIHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWZpbmVkVmFyaWFibGVzLmFkZChwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVEZWxldGVQcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuICh0YXJnZXQ6IFdpbmRvdywgcDogUHJvcGVydHlLZXkpID0+IHtcbiAgICAgICAgICAgIGlmIChoYXNPd25Qcm9wKHRhcmdldCwgcCkpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgKHRhcmdldCBhcyBhbnkpW3BdO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNhbmRib3gucnVubmluZyAmJiB0aGlzLmRlZmluZWRWYXJpYWJsZXMuaGFzKHApKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5lZFZhcmlhYmxlcy5kZWxldGUocCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVIYXMoKSB7XG4gICAgICAgIHJldHVybiAoX3RhcmdldDogV2luZG93LCBrZXk6IFByb3BlcnR5S2V5KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gIXdoaXRlbGlzdFZhcmlhYmxlcy5pbmNsdWRlcyhrZXkpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNyZWF0ZSgpIHtcbiAgICAgICAgY29uc3QgZmFrZVdpbmRvdyA9IGNyZWF0ZUZha2VPYmplY3Qod2luZG93LCB0aGlzLnNhbmRib3gucmV3cml0ZVZhcmlhYmxlcyk7XG4gICAgICAgIGNvbnN0IGJhc2VIYW5kbGVycyA9IHtcbiAgICAgICAgICAgIGdldDogdGhpcy5jcmVhdGVHZXR0ZXIoKSxcbiAgICAgICAgICAgIHNldDogdGhpcy5jcmVhdGVTZXR0ZXIoKSxcbiAgICAgICAgICAgIGRlZmluZVByb3BlcnR5OiB0aGlzLmNyZWF0ZURlZmluZVByb3BlcnR5KCksXG4gICAgICAgICAgICBkZWxldGVQcm9wZXJ0eTogdGhpcy5jcmVhdGVEZWxldGVQcm9wZXJ0eSgpXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHByb3h5ID0gbmV3IFByb3h5KGZha2VXaW5kb3csIHtcbiAgICAgICAgICAgIC4uLmJhc2VIYW5kbGVycyxcbiAgICAgICAgICAgIGhhczogdGhpcy5jcmVhdGVIYXMoKVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3Qgc3ViUHJveHkgPSBuZXcgUHJveHkoZmFrZVdpbmRvdywgYmFzZUhhbmRsZXJzKTtcbiAgICAgICAgcHJveHkuc2VsZiA9IHN1YlByb3h5O1xuICAgICAgICBwcm94eS53aW5kb3cgPSBzdWJQcm94eTtcbiAgICAgICAgcHJveHkuZ2xvYmFsVGhpcyA9IHN1YlByb3h5O1xuICAgICAgICBwcm94eS50b3AgPSB3aW5kb3cudG9wID09PSB3aW5kb3cgPyBzdWJQcm94eSA6IHdpbmRvdy50b3A7XG4gICAgICAgIHByb3h5LnBhcmVudCA9IHdpbmRvdy5wYXJlbnQgPT09IHdpbmRvdyA/IHN1YlByb3h5IDogd2luZG93LnRvcDtcbiAgICAgICAgcmV0dXJuIHByb3h5O1xuICAgIH1cbn1cbiJdfQ==
@@ -1,49 +0,0 @@
1
- import { ProxyWindow } from './proxies/window';
2
- import { getSandboxPatchHandlers } from './patches';
3
- import { Sandbox } from '../sandbox';
4
- export class ProxySandbox extends Sandbox {
5
- constructor(app, options) {
6
- super();
7
- this.app = app;
8
- this.options = options;
9
- this.running = false;
10
- this.patchHandlers = [];
11
- this.patchHandlers = getSandboxPatchHandlers(this);
12
- this.start();
13
- }
14
- start() {
15
- this.running = true;
16
- this.rewriteVariables = this.getPatchRewriteVariables();
17
- const proxyWindow = new ProxyWindow(this);
18
- this.global = proxyWindow.create();
19
- this.execPatchHandlers();
20
- }
21
- destroy() {
22
- this.running = false;
23
- this.patchHandlers.forEach(handler => {
24
- if (handler.destroy) {
25
- handler.destroy();
26
- }
27
- });
28
- }
29
- getPatchRewriteVariables() {
30
- return this.patchHandlers.reduce((pre, cur) => {
31
- return [...pre, ...(cur.rewrite ? Object.keys(cur.rewrite) : [])];
32
- }, []);
33
- }
34
- execPatchHandlers() {
35
- this.patchHandlers.forEach(handler => {
36
- if (handler.rewrite) {
37
- for (const key in handler.rewrite) {
38
- if (handler.rewrite[key]) {
39
- this.global[key] = handler.rewrite[key];
40
- }
41
- }
42
- }
43
- if (handler.init) {
44
- handler?.init();
45
- }
46
- });
47
- }
48
- }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHktc2FuZGJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvc2FuZGJveC9wcm94eS9wcm94eS1zYW5kYm94LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHcEQsT0FBTyxFQUFFLE9BQU8sRUFBa0IsTUFBTSxZQUFZLENBQUM7QUFFckQsTUFBTSxPQUFPLFlBQWEsU0FBUSxPQUFPO0lBU3JDLFlBQW1CLEdBQVcsRUFBUyxPQUF1QjtRQUMxRCxLQUFLLEVBQUUsQ0FBQztRQURPLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQVJ2RCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBTWYsa0JBQWEsR0FBMEIsRUFBRSxDQUFDO1FBSTlDLElBQUksQ0FBQyxhQUFhLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ3hELE1BQU0sV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDakMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNqQixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDckI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyx3QkFBd0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNwRCxPQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDakMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNqQixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7b0JBQy9CLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTt3QkFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUMzQztpQkFDSjthQUNKO1lBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO2dCQUNkLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUNuQjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJveHlXaW5kb3cgfSBmcm9tICcuL3Byb3hpZXMvd2luZG93JztcbmltcG9ydCB7IGdldFNhbmRib3hQYXRjaEhhbmRsZXJzIH0gZnJvbSAnLi9wYXRjaGVzJztcbmltcG9ydCB7IFNhbmRib3hQYXRjaEhhbmRsZXIgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEdsb2JhbCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFNhbmRib3gsIFNhbmRib3hPcHRpb25zIH0gZnJvbSAnLi4vc2FuZGJveCc7XG5cbmV4cG9ydCBjbGFzcyBQcm94eVNhbmRib3ggZXh0ZW5kcyBTYW5kYm94IHtcbiAgICBwdWJsaWMgcnVubmluZyA9IGZhbHNlO1xuXG4gICAgcHVibGljIGdsb2JhbCE6IEdsb2JhbDtcblxuICAgIHB1YmxpYyByZXdyaXRlVmFyaWFibGVzITogUHJvcGVydHlLZXlbXTtcblxuICAgIHByaXZhdGUgcGF0Y2hIYW5kbGVyczogU2FuZGJveFBhdGNoSGFuZGxlcltdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYXBwOiBzdHJpbmcsIHB1YmxpYyBvcHRpb25zOiBTYW5kYm94T3B0aW9ucykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnBhdGNoSGFuZGxlcnMgPSBnZXRTYW5kYm94UGF0Y2hIYW5kbGVycyh0aGlzKTtcbiAgICAgICAgdGhpcy5zdGFydCgpO1xuICAgIH1cblxuICAgIHN0YXJ0KCkge1xuICAgICAgICB0aGlzLnJ1bm5pbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnJld3JpdGVWYXJpYWJsZXMgPSB0aGlzLmdldFBhdGNoUmV3cml0ZVZhcmlhYmxlcygpO1xuICAgICAgICBjb25zdCBwcm94eVdpbmRvdyA9IG5ldyBQcm94eVdpbmRvdyh0aGlzKTtcbiAgICAgICAgdGhpcy5nbG9iYWwgPSBwcm94eVdpbmRvdy5jcmVhdGUoKTtcbiAgICAgICAgdGhpcy5leGVjUGF0Y2hIYW5kbGVycygpO1xuICAgIH1cblxuICAgIGRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnBhdGNoSGFuZGxlcnMuZm9yRWFjaChoYW5kbGVyID0+IHtcbiAgICAgICAgICAgIGlmIChoYW5kbGVyLmRlc3Ryb3kpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVyLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQYXRjaFJld3JpdGVWYXJpYWJsZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhdGNoSGFuZGxlcnMucmVkdWNlPHN0cmluZ1tdPigocHJlLCBjdXIpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBbLi4ucHJlLCAuLi4oY3VyLnJld3JpdGUgPyBPYmplY3Qua2V5cyhjdXIucmV3cml0ZSkgOiBbXSldO1xuICAgICAgICB9LCBbXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleGVjUGF0Y2hIYW5kbGVycygpIHtcbiAgICAgICAgdGhpcy5wYXRjaEhhbmRsZXJzLmZvckVhY2goaGFuZGxlciA9PiB7XG4gICAgICAgICAgICBpZiAoaGFuZGxlci5yZXdyaXRlKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gaGFuZGxlci5yZXdyaXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChoYW5kbGVyLnJld3JpdGVba2V5XSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nbG9iYWxba2V5XSA9IGhhbmRsZXIucmV3cml0ZVtrZXldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGhhbmRsZXIuaW5pdCkge1xuICAgICAgICAgICAgICAgIGhhbmRsZXI/LmluaXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1,12 +0,0 @@
1
- import { Sandbox } from '../sandbox';
2
- export class SnapshotSandbox extends Sandbox {
3
- constructor(app, options) {
4
- super();
5
- this.app = app;
6
- this.options = options;
7
- this.start();
8
- }
9
- start() { }
10
- destroy() { }
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcHNob3Qtc2FuZGJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvc2FuZGJveC9zbmFwc2hvdC9zbmFwc2hvdC1zYW5kYm94LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWtCLE1BQU0sWUFBWSxDQUFDO0FBRXJELE1BQU0sT0FBTyxlQUFnQixTQUFRLE9BQU87SUFDeEMsWUFBbUIsR0FBVyxFQUFTLE9BQXVCO1FBQzFELEtBQUssRUFBRSxDQUFDO1FBRE8sUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBRTFELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxLQUFJLENBQUM7SUFFVixPQUFPLEtBQUksQ0FBQztDQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FuZGJveCwgU2FuZGJveE9wdGlvbnMgfSBmcm9tICcuLi9zYW5kYm94JztcblxuZXhwb3J0IGNsYXNzIFNuYXBzaG90U2FuZGJveCBleHRlbmRzIFNhbmRib3gge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBhcHA6IHN0cmluZywgcHVibGljIG9wdGlvbnM6IFNhbmRib3hPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuc3RhcnQoKTtcbiAgICB9XG5cbiAgICBzdGFydCgpIHt9XG5cbiAgICBkZXN0cm95KCkge31cbn1cbiJdfQ==