clientnode 4.0.1457 → 4.0.1459
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/Lock.js +83 -69
- package/dist/Logger.js +163 -798
- package/dist/Semaphore.js +46 -56
- package/dist/array.js +337 -668
- package/dist/cli.js +37 -45
- package/dist/constants.js +110 -198
- package/dist/context.js +25 -301
- package/dist/cookie.js +48 -302
- package/dist/data-transfer.js +166 -817
- package/dist/datetime.js +241 -1149
- package/dist/domNode.js +277 -532
- package/dist/expression/evaluators.js +234 -1231
- package/dist/expression/helper.js +82 -102
- package/dist/expression/index.js +10 -1383
- package/dist/expression/indicator-functions.js +21 -316
- package/dist/expression/type.js +5 -1
- package/dist/filesystem.js +324 -385
- package/dist/function.js +51 -93
- package/dist/index.js +27 -3253
- package/dist/indicators.js +68 -519
- package/dist/module.js +99 -233
- package/dist/number.js +25 -498
- package/dist/object.js +791 -958
- package/dist/process.js +38 -298
- package/dist/property-types.js +96 -17
- package/dist/scope.js +56 -2134
- package/dist/string.js +603 -1033
- package/dist/test-helper.js +171 -639
- package/dist/type.js +9 -4
- package/dist/utility.js +91 -408
- package/package.json +2 -2
- package/dist/Lock.d.ts +0 -39
- package/dist/Logger.d.ts +0 -102
- package/dist/Semaphore.d.ts +0 -29
- package/dist/array.d.ts +0 -150
- package/dist/bundle/Lock.js +0 -86
- package/dist/bundle/Logger.js +0 -820
- package/dist/bundle/Semaphore.js +0 -75
- package/dist/bundle/array.js +0 -783
- package/dist/bundle/cli.js +0 -59
- package/dist/bundle/constants.js +0 -214
- package/dist/bundle/context.js +0 -316
- package/dist/bundle/cookie.js +0 -338
- package/dist/bundle/data-transfer.js +0 -867
- package/dist/bundle/datetime.js +0 -1190
- package/dist/bundle/domNode.js +0 -586
- package/dist/bundle/expression/evaluators.js +0 -1270
- package/dist/bundle/expression/helper.js +0 -117
- package/dist/bundle/expression/index.js +0 -1399
- package/dist/bundle/expression/indicator-functions.js +0 -332
- package/dist/bundle/expression/type.js +0 -16
- package/dist/bundle/filesystem.js +0 -472
- package/dist/bundle/function.js +0 -117
- package/dist/bundle/index.js +0 -3269
- package/dist/bundle/indicators.js +0 -572
- package/dist/bundle/module.js +0 -250
- package/dist/bundle/number.js +0 -534
- package/dist/bundle/object.js +0 -1146
- package/dist/bundle/process.js +0 -328
- package/dist/bundle/property-types.js +0 -36
- package/dist/bundle/scope.js +0 -2163
- package/dist/bundle/string.js +0 -1255
- package/dist/bundle/test-helper.js +0 -808
- package/dist/bundle/type.js +0 -16
- package/dist/bundle/utility.js +0 -456
- package/dist/cli.d.ts +0 -31
- package/dist/compatible/Lock.js +0 -86
- package/dist/compatible/Logger.js +0 -820
- package/dist/compatible/Semaphore.js +0 -75
- package/dist/compatible/array.js +0 -783
- package/dist/compatible/cli.js +0 -59
- package/dist/compatible/constants.js +0 -214
- package/dist/compatible/context.js +0 -316
- package/dist/compatible/cookie.js +0 -338
- package/dist/compatible/data-transfer.js +0 -867
- package/dist/compatible/datetime.js +0 -1190
- package/dist/compatible/domNode.js +0 -586
- package/dist/compatible/expression/evaluators.js +0 -1270
- package/dist/compatible/expression/helper.js +0 -117
- package/dist/compatible/expression/index.js +0 -1399
- package/dist/compatible/expression/indicator-functions.js +0 -332
- package/dist/compatible/expression/type.js +0 -16
- package/dist/compatible/filesystem.js +0 -472
- package/dist/compatible/function.js +0 -117
- package/dist/compatible/index.js +0 -3269
- package/dist/compatible/indicators.js +0 -572
- package/dist/compatible/module.js +0 -250
- package/dist/compatible/number.js +0 -534
- package/dist/compatible/object.js +0 -1146
- package/dist/compatible/process.js +0 -328
- package/dist/compatible/property-types.js +0 -36
- package/dist/compatible/scope.js +0 -2163
- package/dist/compatible/string.js +0 -1255
- package/dist/compatible/test-helper.js +0 -808
- package/dist/compatible/type.js +0 -16
- package/dist/compatible/utility.js +0 -456
- package/dist/constants.d.ts +0 -99
- package/dist/context.d.ts +0 -8
- package/dist/cookie.d.ts +0 -31
- package/dist/data-transfer.d.ts +0 -45
- package/dist/datetime.d.ts +0 -37
- package/dist/domNode.d.ts +0 -82
- package/dist/expression/evaluators.d.ts +0 -55
- package/dist/expression/helper.d.ts +0 -4
- package/dist/expression/index.d.ts +0 -7
- package/dist/expression/indicator-functions.d.ts +0 -14
- package/dist/expression/type.d.ts +0 -70
- package/dist/filesystem.d.ts +0 -143
- package/dist/function.d.ts +0 -20
- package/dist/index.d.ts +0 -22
- package/dist/indicators.d.ts +0 -68
- package/dist/module.d.ts +0 -8
- package/dist/number.d.ts +0 -35
- package/dist/object.d.ts +0 -231
- package/dist/process.d.ts +0 -22
- package/dist/property-types.d.ts +0 -460
- package/dist/scope.d.ts +0 -44
- package/dist/string.d.ts +0 -312
- package/dist/test/Lock.d.ts +0 -1
- package/dist/test/Logger.d.ts +0 -1
- package/dist/test/Semaphore.d.ts +0 -1
- package/dist/test/array.d.ts +0 -1
- package/dist/test/cookie.d.ts +0 -1
- package/dist/test/data-transfer.d.ts +0 -1
- package/dist/test/datetime.d.ts +0 -1
- package/dist/test/domNode.d.ts +0 -1
- package/dist/test/expression/evaluators.d.ts +0 -1
- package/dist/test/expression/helper.d.ts +0 -1
- package/dist/test/expression/indicator-functions.d.ts +0 -1
- package/dist/test/filesystem.d.ts +0 -1
- package/dist/test/function.d.ts +0 -1
- package/dist/test/indicators.d.ts +0 -1
- package/dist/test/number.d.ts +0 -1
- package/dist/test/object.d.ts +0 -1
- package/dist/test/process.d.ts +0 -1
- package/dist/test/property-types.d.ts +0 -1
- package/dist/test/scope.d.ts +0 -1
- package/dist/test/string.d.ts +0 -1
- package/dist/test/utility.d.ts +0 -1
- package/dist/test-helper.d.ts +0 -143
- package/dist/type.d.ts +0 -230
- package/dist/utility.d.ts +0 -44
|
@@ -1,83 +1,7 @@
|
|
|
1
|
-
if(typeof window==='undefined'||window===null)var window=(typeof global==='undefined'||global===null)?{}:global;import * as __WEBPACK_EXTERNAL_MODULE_core_js_modules_es_array_includes_js_66c3fd7d__ from "core-js/modules/es.array.includes.js";
|
|
2
|
-
/******/ var __webpack_modules__ = ([
|
|
3
|
-
/* 0 */
|
|
4
|
-
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
5
|
-
|
|
6
|
-
var x = function(y) {
|
|
7
|
-
var x = {}; __webpack_require__.d(x, y); return x
|
|
8
|
-
}
|
|
9
|
-
var y = function(x) { return function() { return x; }; }
|
|
10
|
-
module.exports = x({ });
|
|
11
|
-
|
|
12
|
-
/***/ })
|
|
13
|
-
/******/ ]);
|
|
14
|
-
/************************************************************************/
|
|
15
|
-
/******/ // The module cache
|
|
16
|
-
/******/ var __webpack_module_cache__ = {};
|
|
17
|
-
/******/
|
|
18
|
-
/******/ // The require function
|
|
19
|
-
/******/ function __webpack_require__(moduleId) {
|
|
20
|
-
/******/ // Check if module is in cache
|
|
21
|
-
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
22
|
-
/******/ if (cachedModule !== undefined) {
|
|
23
|
-
/******/ return cachedModule.exports;
|
|
24
|
-
/******/ }
|
|
25
|
-
/******/ // Create a new module (and put it into the cache)
|
|
26
|
-
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
27
|
-
/******/ // no module.id needed
|
|
28
|
-
/******/ // no module.loaded needed
|
|
29
|
-
/******/ exports: {}
|
|
30
|
-
/******/ };
|
|
31
|
-
/******/
|
|
32
|
-
/******/ // Execute the module function
|
|
33
|
-
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
34
|
-
/******/
|
|
35
|
-
/******/ // Return the exports of the module
|
|
36
|
-
/******/ return module.exports;
|
|
37
|
-
/******/ }
|
|
38
|
-
/******/
|
|
39
|
-
/************************************************************************/
|
|
40
|
-
/******/ /* webpack/runtime/define property getters */
|
|
41
|
-
/******/ !function() {
|
|
42
|
-
/******/ // define getter/value functions for harmony exports
|
|
43
|
-
/******/ __webpack_require__.d = function(exports, definition) {
|
|
44
|
-
/******/ if(Array.isArray(definition)) {
|
|
45
|
-
/******/ var i = 0;
|
|
46
|
-
/******/ while(i < definition.length) {
|
|
47
|
-
/******/ var key = definition[i++];
|
|
48
|
-
/******/ var binding = definition[i++];
|
|
49
|
-
/******/ if(!__webpack_require__.o(exports, key)) {
|
|
50
|
-
/******/ if(binding === 0) {
|
|
51
|
-
/******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
|
|
52
|
-
/******/ } else {
|
|
53
|
-
/******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
|
|
54
|
-
/******/ }
|
|
55
|
-
/******/ } else if(binding === 0) { i++; }
|
|
56
|
-
/******/ }
|
|
57
|
-
/******/ } else {
|
|
58
|
-
/******/ for(var key in definition) {
|
|
59
|
-
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
60
|
-
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
61
|
-
/******/ }
|
|
62
|
-
/******/ }
|
|
63
|
-
/******/ }
|
|
64
|
-
/******/ };
|
|
65
|
-
/******/ }();
|
|
66
|
-
/******/
|
|
67
|
-
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
68
|
-
/******/ !function() {
|
|
69
|
-
/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
|
|
70
|
-
/******/ }();
|
|
71
|
-
/******/
|
|
72
|
-
/************************************************************************/
|
|
73
|
-
var __webpack_exports__ = {};
|
|
74
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
75
|
-
/* harmony export */ b: function() { return /* binding */ viewArrayAsScope; },
|
|
76
|
-
/* harmony export */ x: function() { return /* binding */ _viewObjectAsScope; }
|
|
77
|
-
/* harmony export */ });
|
|
78
|
-
/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
|
|
79
1
|
// #!/usr/bin/env babel-node
|
|
80
2
|
// -*- coding: utf-8 -*-
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
81
5
|
/* !
|
|
82
6
|
region header
|
|
83
7
|
[Project page](https://torben.website/clientnode)
|
|
@@ -91,27 +15,83 @@ var __webpack_exports__ = {};
|
|
|
91
15
|
naming 3.0 unported license.
|
|
92
16
|
See https://creativecommons.org/licenses/by/3.0/deed.de
|
|
93
17
|
endregion
|
|
94
|
-
*/
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
// NOTE: ScopeType[keyof ScopeType]
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
18
|
+
*/
|
|
19
|
+
import "core-js/modules/es.array.includes.js";
|
|
20
|
+
export const viewArrayAsScope = (data, childrenPropertyNames, propertyReferenceKeys) => new Proxy(data, {
|
|
21
|
+
ownKeys(target) {
|
|
22
|
+
return Reflect.ownKeys(target);
|
|
23
|
+
},
|
|
24
|
+
get(target, name) {
|
|
25
|
+
for (const element of target) for (const key of propertyReferenceKeys) if (element[key] === name) {
|
|
26
|
+
// NOTE: Type[keyof Type]
|
|
27
|
+
|
|
28
|
+
// NOTE: ScopeType[keyof ScopeType]
|
|
29
|
+
// type ScopeValueType = object
|
|
30
|
+
|
|
31
|
+
/*
|
|
32
|
+
eslint-disable
|
|
33
|
+
@typescript-eslint/no-unnecessary-type-arguments
|
|
34
|
+
*/
|
|
35
|
+
return viewObjectAsScope(element, childrenPropertyNames, propertyReferenceKeys);
|
|
36
|
+
/*
|
|
37
|
+
eslint-enable
|
|
38
|
+
@typescript-eslint/no-unnecessary-type-arguments
|
|
39
|
+
*/
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
},
|
|
43
|
+
set(target, name, value) {
|
|
44
|
+
let index = 0;
|
|
45
|
+
for (const item of target) {
|
|
46
|
+
for (const key of propertyReferenceKeys) if (item[key] === name) {
|
|
47
|
+
target[index] = value;
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
index += 1;
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
export const viewObjectAsScope = (data, childrenPropertyNames = ['children'], propertyReferenceKeys = ['name']) => new Proxy(data, {
|
|
56
|
+
ownKeys(target) {
|
|
57
|
+
return Reflect.ownKeys(target);
|
|
58
|
+
},
|
|
59
|
+
get(target, name) {
|
|
60
|
+
const value = target[name];
|
|
61
|
+
if (Object.prototype.hasOwnProperty.call(target, name)) {
|
|
62
|
+
if (childrenPropertyNames.includes(name) && Array.isArray(value)) {
|
|
63
|
+
// NOTE: Type[keyof Type]
|
|
64
|
+
|
|
65
|
+
// NOTE: ScopeType[keyof ScopeType]
|
|
66
|
+
|
|
67
|
+
return viewArrayAsScope(value, childrenPropertyNames, propertyReferenceKeys);
|
|
68
|
+
}
|
|
69
|
+
if (value !== null && typeof value === 'object') {
|
|
70
|
+
// NOTE: Type[keyof Type]
|
|
71
|
+
|
|
72
|
+
// NOTE: ScopeType[keyof ScopeType]
|
|
73
|
+
// type ScopeValueType = object
|
|
74
|
+
|
|
75
|
+
/*
|
|
76
|
+
eslint-disable
|
|
77
|
+
@typescript-eslint/no-unnecessary-type-arguments
|
|
78
|
+
*/
|
|
79
|
+
return viewObjectAsScope(value, childrenPropertyNames, propertyReferenceKeys);
|
|
80
|
+
/*
|
|
81
|
+
eslint-enable
|
|
82
|
+
@typescript-eslint/no-unnecessary-type-arguments
|
|
83
|
+
*/
|
|
84
|
+
}
|
|
85
|
+
return value;
|
|
86
|
+
}
|
|
87
|
+
return undefined;
|
|
88
|
+
},
|
|
89
|
+
set(target, name, value) {
|
|
90
|
+
if (Object.prototype.hasOwnProperty.call(target, name)) if (Object.prototype.hasOwnProperty.call(target, name)) {
|
|
91
|
+
target[name] = value;
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4cHJlc3Npb24vaGVscGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vICMhL3Vzci9iaW4vZW52IGJhYmVsLW5vZGVcbi8vIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLVxuJ3VzZSBzdHJpY3QnXG4vKiAhXG4gICAgcmVnaW9uIGhlYWRlclxuICAgIFtQcm9qZWN0IHBhZ2VdKGh0dHBzOi8vdG9yYmVuLndlYnNpdGUvY2xpZW50bm9kZSlcblxuICAgIENvcHlyaWdodCBUb3JiZW4gU2lja2VydCAoaW5mb1tcIn5hdH5cIl10b3JiZW4ud2Vic2l0ZSkgMTYuMTIuMjAxMlxuXG4gICAgTGljZW5zZVxuICAgIC0tLS0tLS1cblxuICAgIFRoaXMgbGlicmFyeSB3cml0dGVuIGJ5IFRvcmJlbiBTaWNrZXJ0IHN0YW5kcyB1bmRlciBhIGNyZWF0aXZlIGNvbW1vbnNcbiAgICBuYW1pbmcgMy4wIHVucG9ydGVkIGxpY2Vuc2UuXG4gICAgU2VlIGh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS8zLjAvZGVlZC5kZVxuICAgIGVuZHJlZ2lvblxuKi9cbmltcG9ydCB0eXBlIHtNYXBwaW5nfSBmcm9tICcuLi8nXG5cbmltcG9ydCB0eXBlIHtCYXNpY1Njb3BlVHlwZX0gZnJvbSAnLi90eXBlJ1xuXG5leHBvcnQgY29uc3Qgdmlld0FycmF5QXNTY29wZSA9IDxcbiAgICBUeXBlIGV4dGVuZHMgQXJyYXk8TWFwcGluZzx1bmtub3duPj4sIFNjb3BlVHlwZSBleHRlbmRzIEJhc2ljU2NvcGVUeXBlXG4+KFxuICAgICAgICBkYXRhOiBUeXBlLFxuICAgICAgICBjaGlsZHJlblByb3BlcnR5TmFtZXM6IEFycmF5PHN0cmluZz4sXG4gICAgICAgIHByb3BlcnR5UmVmZXJlbmNlS2V5czogQXJyYXk8c3RyaW5nPlxuICAgICk6IFNjb3BlVHlwZSA9PlxuICAgIG5ldyBQcm94eShkYXRhLCB7XG4gICAgICAgIG93bktleXModGFyZ2V0OiBUeXBlKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVmbGVjdC5vd25LZXlzKHRhcmdldClcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0KHRhcmdldDogVHlwZSwgbmFtZTogc3RyaW5nIHwgc3ltYm9sKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdGFyZ2V0KVxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIHByb3BlcnR5UmVmZXJlbmNlS2V5cylcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnRba2V5IGFzIHVua25vd24gYXMgc3RyaW5nXSA9PT0gbmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTk9URTogVHlwZVtrZXlvZiBUeXBlXVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSBWYWx1ZVR5cGUgPSBNYXBwaW5nPHVua25vd24+XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiBTY29wZVR5cGVba2V5b2YgU2NvcGVUeXBlXVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHlwZSBTY29wZVZhbHVlVHlwZSA9IG9iamVjdFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVzbGludC1kaXNhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtYXJndW1lbnRzXG4gICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZpZXdPYmplY3RBc1Njb3BlPFZhbHVlVHlwZT4oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlblByb3BlcnR5TmFtZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlSZWZlcmVuY2VLZXlzXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVzbGludC1lbmFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hcmd1bWVudHNcbiAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICB9LFxuICAgICAgICBzZXQodGFyZ2V0OiBUeXBlLCBuYW1lOiBzdHJpbmcgfCBzeW1ib2wsIHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB7XG4gICAgICAgICAgICBsZXQgaW5kZXggPSAwXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgcHJvcGVydHlSZWZlcmVuY2VLZXlzKVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVtrZXkgYXMgdW5rbm93biBhcyBrZXlvZiB0eXBlb2YgaXRlbV0gPT09IG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICh0YXJnZXRbaW5kZXhdIGFzIHVua25vd24pID0gdmFsdWVcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGluZGV4ICs9IDFcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICB9KSBhcyB1bmtub3duIGFzIFNjb3BlVHlwZVxuXG5leHBvcnQgY29uc3Qgdmlld09iamVjdEFzU2NvcGUgPSA8XG4gICAgVHlwZSBleHRlbmRzIE1hcHBpbmc8dW5rbm93bj4sXG4gICAgU2NvcGVUeXBlIGV4dGVuZHMgQmFzaWNTY29wZVR5cGUgPSBCYXNpY1Njb3BlVHlwZVxuPihcbiAgICAgICAgZGF0YTogVHlwZSxcbiAgICAgICAgY2hpbGRyZW5Qcm9wZXJ0eU5hbWVzID0gWydjaGlsZHJlbiddLFxuICAgICAgICBwcm9wZXJ0eVJlZmVyZW5jZUtleXMgPSBbJ25hbWUnXVxuICAgICk6IFNjb3BlVHlwZSA9PlxuICAgIG5ldyBQcm94eShkYXRhLCB7XG4gICAgICAgIG93bktleXModGFyZ2V0OiBUeXBlKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVmbGVjdC5vd25LZXlzKHRhcmdldClcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0KHRhcmdldDogVHlwZSwgbmFtZTogc3RyaW5nIHwgc3ltYm9sKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRhcmdldFtuYW1lIGFzIGtleW9mIFR5cGVdXG5cbiAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGFyZ2V0LCBuYW1lKSkge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW5Qcm9wZXJ0eU5hbWVzLmluY2x1ZGVzKG5hbWUgYXMgc3RyaW5nKSAmJlxuICAgICAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAvLyBOT1RFOiBUeXBlW2tleW9mIFR5cGVdXG4gICAgICAgICAgICAgICAgICAgIHR5cGUgVmFsdWVUeXBlID0gQXJyYXk8TWFwcGluZzx1bmtub3duPj5cbiAgICAgICAgICAgICAgICAgICAgLy8gTk9URTogU2NvcGVUeXBlW2tleW9mIFNjb3BlVHlwZV1cbiAgICAgICAgICAgICAgICAgICAgdHlwZSBTY29wZVZhbHVlVHlwZSA9IEFycmF5PEJhc2ljU2NvcGVUeXBlPlxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2aWV3QXJyYXlBc1Njb3BlPFZhbHVlVHlwZSwgU2NvcGVWYWx1ZVR5cGU+KFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlblByb3BlcnR5TmFtZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eVJlZmVyZW5jZUtleXNcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IFR5cGVba2V5b2YgVHlwZV1cbiAgICAgICAgICAgICAgICAgICAgdHlwZSBWYWx1ZVR5cGUgPSBNYXBwaW5nPHVua25vd24+XG4gICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IFNjb3BlVHlwZVtrZXlvZiBTY29wZVR5cGVdXG4gICAgICAgICAgICAgICAgICAgIC8vIHR5cGUgU2NvcGVWYWx1ZVR5cGUgPSBvYmplY3RcblxuICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgZXNsaW50LWRpc2FibGVcbiAgICAgICAgICAgICAgICAgICAgICAgIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLWFyZ3VtZW50c1xuICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmlld09iamVjdEFzU2NvcGU8VmFsdWVUeXBlPihcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGFzIFZhbHVlVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuUHJvcGVydHlOYW1lcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5UmVmZXJlbmNlS2V5c1xuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICBlc2xpbnQtZW5hYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hcmd1bWVudHNcbiAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICB9LFxuICAgICAgICBzZXQodGFyZ2V0OiBUeXBlLCBuYW1lOiBzdHJpbmcgfCBzeW1ib2wsIHZhbHVlOiBUeXBlW2tleW9mIFR5cGVdKSB7XG4gICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRhcmdldCwgbmFtZSkpXG4gICAgICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0YXJnZXQsIG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFtuYW1lIGFzIGtleW9mIFR5cGVdID0gdmFsdWVcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICB9KSBhcyB1bmtub3duIGFzIFNjb3BlVHlwZVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EsWUFBWTs7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYkE7QUFrQkEsT0FBTyxNQUFNLGdCQUFnQixHQUFHLENBR3hCLElBQVUsRUFDVixxQkFBb0MsRUFDcEMscUJBQW9DLEtBRXhDLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtFQUNaLE9BQU8sQ0FBQyxNQUFZLEVBQUU7SUFDbEIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztF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
|