@colijnit/configurator 1.0.17 → 12.0.2
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/app/builder.d.ts +15 -4
- package/app/components/answers/answer/answer.component.d.ts +3 -3
- package/app/components/selections/selections.component.d.ts +5 -6
- package/app/services/configurator.service.d.ts +0 -3
- package/app/utils/object.utils.d.ts +7 -0
- package/bundles/colijnit-configurator.umd.js +1051 -568
- package/bundles/colijnit-configurator.umd.js.map +1 -1
- package/colijnit-configurator.d.ts +2 -3
- package/colijnit-configurator.metadata.json +1 -1
- package/esm2015/app/builder.js +126 -44
- package/esm2015/app/components/answers/answer/answer.component.js +29 -32
- package/esm2015/app/components/answers/answers.component.js +16 -21
- package/esm2015/app/components/answers/answers.module.js +20 -22
- package/esm2015/app/components/selections/selections.component.js +29 -34
- package/esm2015/app/components/selections/selections.module.js +17 -19
- package/esm2015/app/components/shared/loader/loader.component.js +10 -12
- package/esm2015/app/components/shared/shared.module.js +16 -18
- package/esm2015/app/directives/visibility-observer-master.directive.js +9 -10
- package/esm2015/app/directives/visibility-observer.directive.js +13 -15
- package/esm2015/app/services/configurator.service.js +4 -23
- package/esm2015/app/services/image-cache.service.js +10 -13
- package/esm2015/app/services/locator.service.js +6 -8
- package/esm2015/app/utils/object.utils.js +49 -0
- package/esm2015/colijnit-configurator.js +3 -4
- package/esm2015/helper/variation-helper.js +174 -41
- package/esm2015/model/material.js +1 -1
- package/esm2015/model/variation-settings.js +4 -1
- package/esm2015/model/variation.js +1 -1
- package/esm2015/public_api.js +1 -1
- package/esm2015/utils/asset.utils.js +64 -12
- package/esm2015/utils/file.utils.js +4 -1
- package/esm2015/utils/image.utils.js +1 -1
- package/esm2015/utils/object.utils.js +1 -1
- package/esm2015/utils/scene-utils.js +1 -1
- package/esm2015/utils/threed.utils.js +3 -3
- package/esm2015/utils/variation-utils.js +99 -29
- package/fesm2015/colijnit-configurator.js +705 -403
- package/fesm2015/colijnit-configurator.js.map +1 -1
- package/helper/variation-helper.d.ts +1 -1
- package/model/material.d.ts +16 -0
- package/model/variation-settings.d.ts +21 -0
- package/package.json +16 -19
- package/utils/asset.utils.d.ts +3 -0
- package/utils/threed.utils.d.ts +1 -1
- package/utils/variation-utils.d.ts +1 -0
- package/bundles/colijnit-configurator.umd.min.js +0 -17
- package/bundles/colijnit-configurator.umd.min.js.map +0 -1
- package/esm5/app/builder.js +0 -591
- package/esm5/app/components/answers/answer/answer.component.js +0 -64
- package/esm5/app/components/answers/answers.component.js +0 -27
- package/esm5/app/components/answers/answers.module.js +0 -32
- package/esm5/app/components/selections/selections.component.js +0 -104
- package/esm5/app/components/selections/selections.module.js +0 -26
- package/esm5/app/components/shared/loader/loader.component.js +0 -16
- package/esm5/app/components/shared/shared.module.js +0 -24
- package/esm5/app/directives/visibility-observer-master.directive.js +0 -64
- package/esm5/app/directives/visibility-observer.directive.js +0 -59
- package/esm5/app/services/configurator.service.js +0 -160
- package/esm5/app/services/image-cache.service.js +0 -69
- package/esm5/app/services/locator.service.js +0 -13
- package/esm5/colijnit-configurator.js +0 -11
- package/esm5/helper/variation-helper.js +0 -268
- package/esm5/model/material.js +0 -13
- package/esm5/model/variation-settings.js +0 -8
- package/esm5/model/variation.js +0 -7
- package/esm5/public_api.js +0 -7
- package/esm5/utils/asset.utils.js +0 -106
- package/esm5/utils/file.utils.js +0 -151
- package/esm5/utils/image.utils.js +0 -56
- package/esm5/utils/object.utils.js +0 -56
- package/esm5/utils/scene-utils.js +0 -98
- package/esm5/utils/threed.utils.js +0 -279
- package/esm5/utils/variation-utils.js +0 -327
- package/fesm5/colijnit-configurator.js +0 -2527
- package/fesm5/colijnit-configurator.js.map +0 -1
|
@@ -27,17 +27,39 @@ export class AssetUtils {
|
|
|
27
27
|
// material.normal.repeat.set(1, 1);
|
|
28
28
|
// material.normal.flipY = false;
|
|
29
29
|
}
|
|
30
|
-
if (asset.
|
|
31
|
-
material.ao = yield ImageUtils.CreateTextureFromBase64(asset.id + '
|
|
32
|
-
material.
|
|
30
|
+
if (asset.orm) {
|
|
31
|
+
material.ao = yield ImageUtils.CreateTextureFromBase64(asset.id + '_orm', asset.orm, material);
|
|
32
|
+
material.roughness = material.ao;
|
|
33
|
+
material.metalness = material.ao;
|
|
34
|
+
material.aoFilename = asset.ormFilename;
|
|
35
|
+
material.roughnessFilename = asset.ormFilename;
|
|
36
|
+
material.metalnessFilename = asset.ormFilename;
|
|
33
37
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
else {
|
|
39
|
+
if (asset.ao) {
|
|
40
|
+
material.ao = yield ImageUtils.CreateTextureFromBase64(asset.id + '_ao', asset.ao, material);
|
|
41
|
+
material.aoFilename = asset.aoFilename;
|
|
42
|
+
}
|
|
43
|
+
if (asset.metalness) {
|
|
44
|
+
material.metalness = yield ImageUtils.CreateTextureFromBase64(asset.id + '_metalness', asset.metalness, material);
|
|
45
|
+
material.metalnessFilename = asset.metalnessFilename;
|
|
46
|
+
}
|
|
47
|
+
if (asset.roughness) {
|
|
48
|
+
material.roughness = yield ImageUtils.CreateTextureFromBase64(asset.id + '_roughness', asset.roughness, material);
|
|
49
|
+
material.roughnessFilename = asset.roughnessFilename;
|
|
50
|
+
}
|
|
37
51
|
}
|
|
38
|
-
if (asset.
|
|
39
|
-
material.
|
|
40
|
-
material.
|
|
52
|
+
if (asset.displacement) {
|
|
53
|
+
material.displacement = yield ImageUtils.CreateTextureFromBase64(asset.id + '_displacement', asset.displacement, material);
|
|
54
|
+
material.displacementFilename = asset.displacementFilename;
|
|
55
|
+
}
|
|
56
|
+
if (asset.envMap) {
|
|
57
|
+
material.envMap = yield ImageUtils.CreateTextureFromBase64(asset.id + '_env', asset.envMap, material);
|
|
58
|
+
material.envMapFilename = asset.envMapFilename;
|
|
59
|
+
}
|
|
60
|
+
if (asset.emissive) {
|
|
61
|
+
material.emissive = yield ImageUtils.CreateTextureFromBase64(asset.id + '_emissive', asset.emissive, material);
|
|
62
|
+
material.emissiveFileName = asset.emissiveFilename;
|
|
41
63
|
}
|
|
42
64
|
return material;
|
|
43
65
|
});
|
|
@@ -55,11 +77,11 @@ export class AssetUtils {
|
|
|
55
77
|
const repeatObjectUsed = settings.hasOwnProperty('repeat');
|
|
56
78
|
const repeatx = repeatObjectUsed ? parseFloat(settings['repeat']['repeatx']) : parseFloat(settings['repeatx']);
|
|
57
79
|
if (!isNaN(repeatx)) {
|
|
58
|
-
material.repeatX =
|
|
80
|
+
material.repeatX = repeatx;
|
|
59
81
|
}
|
|
60
82
|
const repeaty = repeatObjectUsed ? parseFloat(settings['repeat']['repeaty']) : parseFloat(settings['repeaty']);
|
|
61
83
|
if (!isNaN(repeaty)) {
|
|
62
|
-
material.repeatY =
|
|
84
|
+
material.repeatY = repeaty;
|
|
63
85
|
}
|
|
64
86
|
const metalness = parseFloat(settings['metalness']);
|
|
65
87
|
if (!isNaN(metalness)) {
|
|
@@ -69,6 +91,36 @@ export class AssetUtils {
|
|
|
69
91
|
if (!isNaN(roughness)) {
|
|
70
92
|
material.roughnessValue = Math.min(1, roughness);
|
|
71
93
|
}
|
|
94
|
+
if (settings.hasOwnProperty('side')) {
|
|
95
|
+
material.side = settings.side;
|
|
96
|
+
}
|
|
97
|
+
if (settings.hasOwnProperty('sheenColor')) {
|
|
98
|
+
material.sheenColor = settings.sheenColor;
|
|
99
|
+
}
|
|
100
|
+
if (settings.hasOwnProperty('opacity')) {
|
|
101
|
+
material.opacity = settings.opacity;
|
|
102
|
+
}
|
|
103
|
+
if (settings.hasOwnProperty('transparent')) {
|
|
104
|
+
material.transparent = settings.transparent;
|
|
105
|
+
}
|
|
106
|
+
if (settings.hasOwnProperty('envMap')) {
|
|
107
|
+
material.envMap = settings.envMap;
|
|
108
|
+
}
|
|
109
|
+
if (settings.hasOwnProperty('envMapIntensity')) {
|
|
110
|
+
material.envMapIntensity = settings.envMapIntensity;
|
|
111
|
+
}
|
|
112
|
+
if (settings.hasOwnProperty('reflectivity')) {
|
|
113
|
+
material.reflectivity = settings.reflectivity;
|
|
114
|
+
}
|
|
115
|
+
if (settings.hasOwnProperty('displacementValue')) {
|
|
116
|
+
material.displacementValue = settings.displacementValue;
|
|
117
|
+
}
|
|
118
|
+
if (settings.hasOwnProperty('transparency')) {
|
|
119
|
+
material.transparency = settings.transparency;
|
|
120
|
+
}
|
|
121
|
+
if (settings.hasOwnProperty('transmission')) {
|
|
122
|
+
material.transmission = settings.transmission;
|
|
123
|
+
}
|
|
72
124
|
}
|
|
73
125
|
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQudXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29saWpuaXQvY29uZmlndXJhdG9yLyIsInNvdXJjZXMiOlsidXRpbHMvYXNzZXQudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxPQUFPLENBQUM7QUFHbkMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFFBQVE7Q0FROUM7QUFFRCxNQUFNLE9BQU8sVUFBVTtJQUVkLE1BQU0sQ0FBTyx1QkFBdUIsQ0FBQyxLQUF3Qjs7WUFDbEUsTUFBTSxRQUFRLEdBQXNCLElBQUksUUFBUSxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDVixPQUFPLFFBQVEsQ0FBQzthQUNqQjtZQUNELElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsVUFBVSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDNUQ7WUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLFFBQVEsQ0FBQyxPQUFPLEdBQUcsTUFBTSxVQUFVLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDNUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDO2dCQUV6QyxRQUFRLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7YUFDbEQ7WUFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hCLFFBQVEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxV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Q0FBQztTQUN6QztRQUVELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3JCLFFBQVEsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDbEQ7UUFFRCxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNyQixRQUFRLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNYXRlcmlhbH0gZnJvbSAnLi4vbW9kZWwvbWF0ZXJpYWwnO1xuaW1wb3J0IHtJbWFnZVV0aWxzfSBmcm9tICcuL2ltYWdlLnV0aWxzJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7c1JHQkVuY29kaW5nfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQge1ZhcmlhdGlvblNldHRpbmdzfSBmcm9tICcuLi9tb2RlbC92YXJpYXRpb24tc2V0dGluZ3MnO1xuXG5leHBvcnQgY2xhc3MgRnVybml0dXJlTWF0ZXJpYWwgZXh0ZW5kcyBNYXRlcmlhbCB7XG5cbiAgcHVibGljIHRleHR1cmVGaWxlbmFtZT86IHN0cmluZztcbiAgcHVibGljIG5vcm1hbEZpbGVuYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgYW9GaWxlbmFtZT86IHN0cmluZztcbiAgcHVibGljIG1ldGFsbmVzc0ZpbGVuYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgcm91Z2huZXNzRmlsZW5hbWU/OiBzdHJpbmc7XG5cbn1cblxuZXhwb3J0IGNsYXNzIEFzc2V0VXRpbHMge1xuXG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgQ3JlYXRlTWF0ZXJpYWxGcm9tQXNzZXQoYXNzZXQ6IFZhcmlhdGlvblNldHRpbmdzKTogUHJvbWlzZTxNYXRlcmlhbD4ge1xuICAgIGNvbnN0IG1hdGVyaWFsOiBGdXJuaXR1cmVNYXRlcmlhbCA9IG5ldyBNYXRlcmlhbCgpO1xuICAgIGlmICghYXNzZXQpIHtcbiAgICAgIHJldHVybiBtYXRlcmlhbDtcbiAgICB9XG4gICAgaWYgKGFzc2V0LnNldHRpbmdzKSB7XG4gICAgICBBc3NldFV0aWxzLnNldFNldHRpbmdzT2ZNYXRlcmlhbChtYXRlcmlhbCwgYXNzZXQuc2V0dGluZ3MpO1xuICAgIH1cbiAgICBpZiAoYXNzZXQudGV4dHVyZSkge1xuICAgICAgbWF0ZXJpYWwudGV4dHVyZSA9IGF3YWl0IEltYWdlVXRpbHMuQ3JlYXRlVGV4dHVyZUZyb21CYXNlNjQoYXNzZXQuaWQgKyAnX3RleHR1cmUnLCBhc3NldC50ZXh0dXJlLCBtYXRlcmlhbCk7XG4gICAgICBtYXRlcmlhbC50ZXh0dXJlLmVuY29kaW5nID0gc1JHQkVuY29kaW5nO1xuXG4gICAgICBtYXRlcmlhbC50ZXh0dXJlRmlsZW5hbWUgPSBhc3NldC50ZXh0dXJlRmlsZW5hbWU7XG4gICAgfVxuICAgIGlmIChhc3NldC5ub3JtYWwpIHtcbiAgICAgIG1hdGVyaWFsLm5vcm1hbCA9IGF3YWl0IEltYWdlVXRpbHMuQ3JlYXRlVGV4dHVyZUZyb21CYXNlNjQoYXNzZXQuaWQgKyAnX25vcm1hbCcsIGFzc2V0Lm5vcm1hbCwgbWF0ZXJpYWwpO1xuICAgICAgbWF0ZXJpYWwubm9ybWFsRmlsZW5hbWUgPSBhc3NldC5ub3JtYWxGaWxlbmFtZTtcbiAgICAgIC8vIG1hdGVyaWFsLm5vcm1hbC5hbmlzb3Ryb3B5ID0gMTtcbiAgICAgIC8vIG1hdGVyaWFsLm5vcm1hbC5yZXBlYXQuc2V0KDEsIDEpO1xuICAgICAgLy8gbWF0ZXJpYWwubm9ybWFsLmZsaXBZID0gZmFsc2U7XG4gICAgfVxuICAgIGlmIChhc3NldC5hbykge1xuICAgICAgbWF0ZXJpYWwuYW8gPSBhd2FpdCBJbWFnZVV0aWxzLkNyZWF0ZVRleHR1cmVGcm9tQmFzZTY0KGFzc2V0LmlkICsgJ19hbycsIGFzc2V0LmFvLCBtYXRlcmlhbCk7XG4gICAgICBtYXRlcmlhbC5hb0ZpbGVuYW1lID0gYXNzZXQuYW9GaWxlbmFtZTtcbiAgICB9XG4gICAgaWYgKGFzc2V0Lm1ldGFsbmVzcykge1xuICAgICAgbWF0ZXJpYWwubWV0YWxuZXNzID0gYXdhaXQgSW1hZ2VVdGlscy5DcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChhc3NldC5pZCArICdfbWV0YWxuZXNzJywgYXNzZXQubWV0YWxuZXNzLCBtYXRlcmlhbCk7XG4gICAgICBtYXRlcmlhbC5tZXRhbG5lc3NGaWxlbmFtZSA9IGFzc2V0Lm1ldGFsbmVzc0ZpbGVuYW1lO1xuICAgIH1cbiAgICBpZiAoYXNzZXQucm91Z2huZXNzKSB7XG4gICAgICBtYXRlcmlhbC5yb3VnaG5lc3MgPSBhd2FpdCBJbWFnZVV0aWxzLkNyZWF0ZVRleHR1cmVGcm9tQmFzZTY0KGFzc2V0LmlkICsgJ19yb3VnaG5lc3MnLCBhc3NldC5yb3VnaG5lc3MsIG1hdGVyaWFsKTtcbiAgICAgIG1hdGVyaWFsLnJvdWdobmVzc0ZpbGVuYW1lID0gYXNzZXQucm91Z2huZXNzRmlsZW5hbWU7XG4gICAgfVxuICAgIHJldHVybiBtYXRlcmlhbDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc2V0U2V0dGluZ3NPZk1hdGVyaWFsKG1hdGVyaWFsOiBNYXRlcmlhbCwgc2V0dGluZ3M6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHNoaW5pbmVzcyA9IHBhcnNlRmxvYXQoc2V0dGluZ3NbJ3Bvd2VyJ10pO1xuICAgIGlmICghaXNOYU4oc2hpbmluZXNzKSkge1xuICAgICAgbWF0ZXJpYWwuc2hpbmluZXNzID0gc2hpbmluZXNzO1xuICAgICAgLy8gbWF0ZXJpYWwucm91Z2huZXNzID0gMSAtIChzaGluaW5lc3MgLyAxMDApO1xuICAgIH1cblxuICAgIGNvbnN0IGxldmVsID0gcGFyc2VGbG9hdChzZXR0aW5nc1snbGV2ZWwnXSk7XG4gICAgaWYgKCFpc05hTihsZXZlbCkpIHtcbiAgICAgIG1hdGVyaWFsLnNwZWN1bGFyID0gbmV3IFRIUkVFLkNvbG9yKGxldmVsLCBsZXZlbCwgbGV2ZWwpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcGVhdE9iamVjdFVzZWQ6IGJvb2xlYW4gPSBzZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eSgncmVwZWF0Jyk7XG4gICAgY29uc3QgcmVwZWF0eCA9IHJlcGVhdE9iamVjdFVzZWQgPyBwYXJzZUZsb2F0KHNldHRpbmdzWydyZXBlYXQnXVsncmVwZWF0eCddKSA6IHBhcnNlRmxvYXQoc2V0dGluZ3NbJ3JlcGVhdHgnXSk7XG4gICAgaWYgKCFpc05hTihyZXBlYXR4KSkge1xuICAgICAgbWF0ZXJpYWwucmVwZWF0WCA9IE1hdGgubWF4KDEsIHJlcGVhdHgpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcGVhdHkgPSByZXBlYXRPYmplY3RVc2VkID8gcGFyc2VGbG9hdChzZXR0aW5nc1sncmVwZWF0J11bJ3JlcGVhdHknXSkgOiBwYXJzZUZsb2F0KHNldHRpbmdzWydyZXBlYXR5J10pO1xuICAgIGlmICghaXNOYU4ocmVwZWF0eSkpIHtcbiAgICAgIG1hdGVyaWFsLnJlcGVhdFkgPSBNYXRoLm1heCgxLCByZXBlYXR5KTtcbiAgICB9XG5cbiAgICBjb25zdCBtZXRhbG5lc3MgPSBwYXJzZUZsb2F0KHNldHRpbmdzWydtZXRhbG5lc3MnXSk7XG4gICAgaWYgKCFpc05hTihtZXRhbG5lc3MpKSB7XG4gICAgICBtYXRlcmlhbC5tZXRhbG5lc3NWYWx1ZSA9IE1hdGgubWluKDEsIG1ldGFsbmVzcyk7XG4gICAgfVxuXG4gICAgY29uc3Qgcm91Z2huZXNzID0gcGFyc2VGbG9hdChzZXR0aW5nc1sncm91Z2huZXNzJ10pO1xuICAgIGlmICghaXNOYU4ocm91Z2huZXNzKSkge1xuICAgICAgbWF0ZXJpYWwucm91Z2huZXNzVmFsdWUgPSBNYXRoLm1pbigxLCByb3VnaG5lc3MpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvYXNzZXQudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxPQUFPLENBQUM7QUFHbkMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFFBQVE7Q0FXOUM7QUFFRCxNQUFNLE9BQU8sVUFBVTtJQUVkLE1BQU0sQ0FBTyx1QkFBdUIsQ0FBQyxLQUF3Qjs7WUFDbEUsTUFBTSxRQUFRLEdBQXNCLElBQUksUUFBUSxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDVixPQUFPLFFBQVEsQ0FBQzthQUNqQjtZQUNELElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsVUFBVSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDNUQ7WUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLFFBQVEsQ0FBQyxPQUFPLEdBQUcsTUFBTSxVQUFVLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDNUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDO2dCQUV6QyxRQUFRLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7YUFDbEQ7WUFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hCLFFBQVEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxVQUFVLENBQUMsdUJBQXVC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LFFBQVEsQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUM5QyxRQUFRLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7U0FDckQ7UUFFRCxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDM0MsUUFBUSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1NBQy9DO1FBRUQsSUFBSSxRQUFRLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLEVBQUU7WUFDaEQsUUFBUSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztTQUN6RDtRQUVELElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUMzQyxRQUFRLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7U0FDL0M7UUFFRCxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDM0MsUUFBUSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1NBQy9DO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNYXRlcmlhbH0gZnJvbSAnLi4vbW9kZWwvbWF0ZXJpYWwnO1xuaW1wb3J0IHtJbWFnZVV0aWxzfSBmcm9tICcuL2ltYWdlLnV0aWxzJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7c1JHQkVuY29kaW5nfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQge1ZhcmlhdGlvblNldHRpbmdzfSBmcm9tICcuLi9tb2RlbC92YXJpYXRpb24tc2V0dGluZ3MnO1xuXG5leHBvcnQgY2xhc3MgRnVybml0dXJlTWF0ZXJpYWwgZXh0ZW5kcyBNYXRlcmlhbCB7XG5cbiAgcHVibGljIHRleHR1cmVGaWxlbmFtZT86IHN0cmluZztcbiAgcHVibGljIG5vcm1hbEZpbGVuYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgYW9GaWxlbmFtZT86IHN0cmluZztcbiAgcHVibGljIG1ldGFsbmVzc0ZpbGVuYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgcm91Z2huZXNzRmlsZW5hbWU/OiBzdHJpbmc7XG4gIHB1YmxpYyBkaXNwbGFjZW1lbnRGaWxlbmFtZT86IHN0cmluZztcbiAgcHVibGljIGVudk1hcEZpbGVuYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgZW1pc3NpdmVGaWxlTmFtZT86IHN0cmluZztcblxufVxuXG5leHBvcnQgY2xhc3MgQXNzZXRVdGlscyB7XG5cbiAgcHVibGljIHN0YXRpYyBhc3luYyBDcmVhdGVNYXRlcmlhbEZyb21Bc3NldChhc3NldDogVmFyaWF0aW9uU2V0dGluZ3MpOiBQcm9taXNlPE1hdGVyaWFsPiB7XG4gICAgY29uc3QgbWF0ZXJpYWw6IEZ1cm5pdHVyZU1hdGVyaWFsID0gbmV3IE1hdGVyaWFsKCk7XG4gICAgaWYgKCFhc3NldCkge1xuICAgICAgcmV0dXJuIG1hdGVyaWFsO1xuICAgIH1cbiAgICBpZiAoYXNzZXQuc2V0dGluZ3MpIHtcbiAgICAgIEFzc2V0VXRpbHMuc2V0U2V0dGluZ3NPZk1hdGVyaWFsKG1hdGVyaWFsLCBhc3NldC5zZXR0aW5ncyk7XG4gICAgfVxuICAgIGlmIChhc3NldC50ZXh0dXJlKSB7XG4gICAgICBtYXRlcmlhbC50ZXh0dXJlID0gYXdhaXQgSW1hZ2VVdGlscy5DcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChhc3NldC5pZCArICdfdGV4dHVyZScsIGFzc2V0LnRleHR1cmUsIG1hdGVyaWFsKTtcbiAgICAgIG1hdGVyaWFsLnRleHR1cmUuZW5jb2RpbmcgPSBzUkdCRW5jb2Rpbmc7XG5cbiAgICAgIG1hdGVyaWFsLnRleHR1cmVGaWxlbmFtZSA9IGFzc2V0LnRleHR1cmVGaWxlbmFtZTtcbiAgICB9XG4gICAgaWYgKGFzc2V0Lm5vcm1hbCkge1xuICAgICAgbWF0ZXJpYWwubm9ybWFsID0gYXdhaXQgSW1hZ2VVdGlscy5DcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChhc3NldC5pZCArICdfbm9ybWFsJywgYXNzZXQubm9ybWFsLCBtYXRlcmlhbCk7XG4gICAgICBtYXRlcmlhbC5ub3JtYWxGaWxlbmFtZSA9IGFzc2V0Lm5vcm1hbEZpbGVuYW1lO1xuICAgICAgLy8gbWF0ZXJpYWwubm9ybWFsLmFuaXNvdHJvcHkgPSAxO1xuICAgICAgLy8gbWF0ZXJpYWwubm9ybWFsLnJlcGVhdC5zZXQoMSwgMSk7XG4gICAgICAvLyBtYXRlcmlhbC5ub3JtYWwuZmxpcFkgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGFzc2V0Lm9ybSkge1xuICAgICAgbWF0ZXJpYWwuYW8gPSBhd2FpdCBJbWFnZVV0aWxzLkNyZWF0ZVRleHR1cmVGcm9tQmFzZTY0KGFzc2V0LmlkICsgJ19vcm0nLCBhc3NldC5vcm0sIG1hdGVyaWFsKTtcbiAgICAgIG1hdGVyaWFsLnJvdWdobmVzcyA9IG1hdGVyaWFsLmFvO1xuICAgICAgbWF0ZXJpYWwubWV0YWxuZXNzID0gbWF0ZXJpYWwuYW87XG4gICAgICBtYXRlcmlhbC5hb0ZpbGVuYW1lID0gYXNzZXQub3JtRmlsZW5hbWU7XG4gICAgICBtYXRlcmlhbC5yb3VnaG5lc3NGaWxlbmFtZSA9IGFzc2V0Lm9ybUZpbGVuYW1lO1xuICAgICAgbWF0ZXJpYWwubWV0YWxuZXNzRmlsZW5hbWUgPSBhc3NldC5vcm1GaWxlbmFtZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGFzc2V0LmFvKSB7XG4gICAgICAgIG1hdGVyaWFsLmFvID0gYXdhaXQgSW1hZ2VVdGlscy5DcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChhc3NldC5pZCArICdfYW8nLCBhc3NldC5hbywgbWF0ZXJpYWwpO1xuICAgICAgICBtYXRlcmlhbC5hb0ZpbGVuYW1lID0gYXNzZXQuYW9GaWxlbmFtZTtcbiAgICAgIH1cbiAgICAgIGlmIChhc3NldC5tZXRhbG5lc3MpIHtcbiAgICAgICAgbWF0ZXJpYWwubWV0YWxuZXNzID0gYXdhaXQgSW1hZ2VVdGlscy5DcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChhc3NldC5pZCArICdfbWV0YWxuZXNzJywgYXNzZXQubWV0YWxuZXNzLCBtYXRlcmlhbCk7XG4gICAgICAgIG1hdGVyaWFsLm1ldGFsbmVzc0ZpbGVuYW1lID0gYXNzZXQubWV0YWxuZXNzRmlsZW5hbWU7XG4gICAgICB9XG4gICAgICBpZiAoYXNzZXQucm91Z2huZXNzKSB7XG4gICAgICAgIG1hdGVyaWFsLnJvdWdobmVzcyA9IGF3YWl0IEltYWdlVXRpbHMuQ3JlYXRlVGV4dHVyZUZyb21CYXNlNjQoYXNzZXQuaWQgKyAnX3JvdWdobmVzcycsIGFzc2V0LnJvdWdobmVzcywgbWF0ZXJpYWwpO1xuICAgICAgICBtYXRlcmlhbC5yb3VnaG5lc3NGaWxlbmFtZSA9IGFzc2V0LnJvdWdobmVzc0ZpbGVuYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYXNzZXQuZGlzcGxhY2VtZW50KSB7XG4gICAgICBtYXRlcmlhbC5kaXNwbGFjZW1lbnQgPSBhd2FpdCBJbWFnZVV0aWxzLkNyZWF0ZVRleHR1cmVGcm9tQmFzZTY0KGFzc2V0LmlkICsgJ19kaXNwbGFjZW1lbnQnLCBhc3NldC5kaXNwbGFjZW1lbnQsIG1hdGVyaWFsKTtcbiAgICAgIG1hdGVyaWFsLmRpc3BsYWNlbWVudEZpbGVuYW1lID0gYXNzZXQuZGlzcGxhY2VtZW50RmlsZW5hbWU7XG4gICAgfVxuICAgIGlmIChhc3NldC5lbnZNYXApIHtcbiAgICAgIG1hdGVyaWFsLmVudk1hcCA9IGF3YWl0IEltYWdlVXRpbHMuQ3JlYXRlVGV4dHVyZUZyb21CYXNlNjQoYXNzZXQuaWQgKyAnX2VudicsIGFzc2V0LmVudk1hcCwgbWF0ZXJpYWwpO1xuICAgICAgbWF0ZXJpYWwuZW52TWFwRmlsZW5hbWUgPSBhc3NldC5lbnZNYXBGaWxlbmFtZTtcbiAgICB9XG4gICAgaWYgKGFzc2V0LmVtaXNzaXZlKSB7XG4gICAgICBtYXRlcmlhbC5lbWlzc2l2ZSA9IGF3YWl0IEltYWdlVXRpbHMuQ3JlYXRlVGV4dHVyZUZyb21CYXNlNjQoYXNzZXQuaWQgKyAnX2VtaXNzaXZlJywgYXNzZXQuZW1pc3NpdmUsIG1hdGVyaWFsKTtcbiAgICAgIG1hdGVyaWFsLmVtaXNzaXZlRmlsZU5hbWUgPSBhc3NldC5lbWlzc2l2ZUZpbGVuYW1lO1xuICAgIH1cblxuICAgIHJldHVybiBtYXRlcmlhbDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc2V0U2V0dGluZ3NPZk1hdGVyaWFsKG1hdGVyaWFsOiBNYXRlcmlhbCwgc2V0dGluZ3M6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHNoaW5pbmVzcyA9IHBhcnNlRmxvYXQoc2V0dGluZ3NbJ3Bvd2VyJ10pO1xuICAgIGlmICghaXNOYU4oc2hpbmluZXNzKSkge1xuICAgICAgbWF0ZXJpYWwuc2hpbmluZXNzID0gc2hpbmluZXNzO1xuICAgICAgLy8gbWF0ZXJpYWwucm91Z2huZXNzID0gMSAtIChzaGluaW5lc3MgLyAxMDApO1xuICAgIH1cblxuICAgIGNvbnN0IGxldmVsID0gcGFyc2VGbG9hdChzZXR0aW5nc1snbGV2ZWwnXSk7XG4gICAgaWYgKCFpc05hTihsZXZlbCkpIHtcbiAgICAgIG1hdGVyaWFsLnNwZWN1bGFyID0gbmV3IFRIUkVFLkNvbG9yKGxldmVsLCBsZXZlbCwgbGV2ZWwpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcGVhdE9iamVjdFVzZWQ6IGJvb2xlYW4gPSBzZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eSgncmVwZWF0Jyk7XG4gICAgY29uc3QgcmVwZWF0eCA9IHJlcGVhdE9iamVjdFVzZWQgPyBwYXJzZUZsb2F0KHNldHRpbmdzWydyZXBlYXQnXVsncmVwZWF0eCddKSA6IHBhcnNlRmxvYXQoc2V0dGluZ3NbJ3JlcGVhdHgnXSk7XG4gICAgaWYgKCFpc05hTihyZXBlYXR4KSkge1xuICAgICAgbWF0ZXJpYWwucmVwZWF0WCA9IHJlcGVhdHg7XG4gICAgfVxuXG4gICAgY29uc3QgcmVwZWF0eSA9IHJlcGVhdE9iamVjdFVzZWQgPyBwYXJzZUZsb2F0KHNldHRpbmdzWydyZXBlYXQnXVsncmVwZWF0eSddKSA6IHBhcnNlRmxvYXQoc2V0dGluZ3NbJ3JlcGVhdHknXSk7XG4gICAgaWYgKCFpc05hTihyZXBlYXR5KSkge1xuICAgICAgbWF0ZXJpYWwucmVwZWF0WSA9IHJlcGVhdHk7XG4gICAgfVxuXG4gICAgY29uc3QgbWV0YWxuZXNzID0gcGFyc2VGbG9hdChzZXR0aW5nc1snbWV0YWxuZXNzJ10pO1xuICAgIGlmICghaXNOYU4obWV0YWxuZXNzKSkge1xuICAgICAgbWF0ZXJpYWwubWV0YWxuZXNzVmFsdWUgPSBNYXRoLm1pbigxLCBtZXRhbG5lc3MpO1xuICAgIH1cblxuICAgIGNvbnN0IHJvdWdobmVzcyA9IHBhcnNlRmxvYXQoc2V0dGluZ3NbJ3JvdWdobmVzcyddKTtcbiAgICBpZiAoIWlzTmFOKHJvdWdobmVzcykpIHtcbiAgICAgIG1hdGVyaWFsLnJvdWdobmVzc1ZhbHVlID0gTWF0aC5taW4oMSwgcm91Z2huZXNzKTtcbiAgICB9XG5cbiAgICBpZiAoc2V0dGluZ3MuaGFzT3duUHJvcGVydHkoJ3NpZGUnKSkge1xuICAgICAgbWF0ZXJpYWwuc2lkZSA9IHNldHRpbmdzLnNpZGU7XG4gICAgfVxuXG4gICAgaWYgKHNldHRpbmdzLmhhc093blByb3BlcnR5KCdzaGVlbkNvbG9yJykpIHtcbiAgICAgIG1hdGVyaWFsLnNoZWVuQ29sb3IgPSBzZXR0aW5ncy5zaGVlbkNvbG9yO1xuICAgIH1cblxuICAgIGlmIChzZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eSgnb3BhY2l0eScpKSB7XG4gICAgICBtYXRlcmlhbC5vcGFjaXR5ID0gc2V0dGluZ3Mub3BhY2l0eTtcbiAgICB9XG5cbiAgICBpZiAoc2V0dGluZ3MuaGFzT3duUHJvcGVydHkoJ3RyYW5zcGFyZW50JykpIHtcbiAgICAgIG1hdGVyaWFsLnRyYW5zcGFyZW50ID0gc2V0dGluZ3MudHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgaWYgKHNldHRpbmdzLmhhc093blByb3BlcnR5KCdlbnZNYXAnKSkge1xuICAgICAgbWF0ZXJpYWwuZW52TWFwID0gc2V0dGluZ3MuZW52TWFwO1xuICAgIH1cblxuICAgIGlmIChzZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eSgnZW52TWFwSW50ZW5zaXR5JykpIHtcbiAgICAgIG1hdGVyaWFsLmVudk1hcEludGVuc2l0eSA9IHNldHRpbmdzLmVudk1hcEludGVuc2l0eTtcbiAgICB9XG5cbiAgICBpZiAoc2V0dGluZ3MuaGFzT3duUHJvcGVydHkoJ3JlZmxlY3Rpdml0eScpKSB7XG4gICAgICBtYXRlcmlhbC5yZWZsZWN0aXZpdHkgPSBzZXR0aW5ncy5yZWZsZWN0aXZpdHk7XG4gICAgfVxuXG4gICAgaWYgKHNldHRpbmdzLmhhc093blByb3BlcnR5KCdkaXNwbGFjZW1lbnRWYWx1ZScpKSB7XG4gICAgICBtYXRlcmlhbC5kaXNwbGFjZW1lbnRWYWx1ZSA9IHNldHRpbmdzLmRpc3BsYWNlbWVudFZhbHVlO1xuICAgIH1cblxuICAgIGlmIChzZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eSgndHJhbnNwYXJlbmN5JykpIHtcbiAgICAgIG1hdGVyaWFsLnRyYW5zcGFyZW5jeSA9IHNldHRpbmdzLnRyYW5zcGFyZW5jeTtcbiAgICB9XG5cbiAgICBpZiAoc2V0dGluZ3MuaGFzT3duUHJvcGVydHkoJ3RyYW5zbWlzc2lvbicpKSB7XG4gICAgICBtYXRlcmlhbC50cmFuc21pc3Npb24gPSBzZXR0aW5ncy50cmFuc21pc3Npb247XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -19,6 +19,9 @@ export class FileUtils {
|
|
|
19
19
|
}
|
|
20
20
|
static FileExists(url, assetPath) {
|
|
21
21
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
if (!assetPath.endsWith('/')) {
|
|
23
|
+
assetPath = assetPath + '/';
|
|
24
|
+
}
|
|
22
25
|
const result = yield axios({
|
|
23
26
|
method: 'get',
|
|
24
27
|
url: `${assetPath}getFiles.php?assetUrl=${url}`,
|
|
@@ -136,4 +139,4 @@ export class FileUtils {
|
|
|
136
139
|
}
|
|
137
140
|
}
|
|
138
141
|
FileUtils._cachedTextureUploads = new Map();
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb2xpam5pdC9jb25maWd1cmF0b3IvIiwic291cmNlcyI6WyJ1dGlscy9maWxlLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsb0RBQW9EO0FBQ3BELFdBQVc7QUFDWCxNQUFNLE9BQU8sU0FBUztJQUlwQixrRUFBa0U7SUFDM0QsTUFBTSxDQUFDLDBCQUEwQixDQUFDLE9BQWU7UUFDdEQsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxNQUFNLFVBQVUsR0FBVyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxPQUFlO1FBQ3BELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxNQUFNLENBQU8sVUFBVSxDQUFDLEdBQVcsRUFBRSxTQUFpQjs7WUFDekQsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUM7Z0JBQ3pCLE1BQU0sRUFBRSxLQUFLO2dCQUNiLEdBQUcsRUFBRSxHQUFHLFNBQVMseUJBQXlCLEdBQUcsRUFBRTtnQkFDL0MsWUFBWSxFQUFFLE1BQU07YUFDckIsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN6QixDQUFDO0tBQUE7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFnQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxF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U0FDWDtJQUNILENBQUM7SUFFTyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUc7UUFDNUIsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3BDLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDdkM7YUFBTTtZQUNMLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7UUFDRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7O0FBckpjLCtCQUFxQixHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF4aW9zIGZyb20gXCJheGlvc1wiO1xuLy8gU3RhdGljIHV0aWxpdHkgZnVuY3Rpb25zIGhvbGRlciByZWxhdGVkIHRvIGZpbGVzLlxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBGaWxlVXRpbHMge1xuXG4gIHByaXZhdGUgc3RhdGljIF9jYWNoZWRUZXh0dXJlVXBsb2FkczogTWFwPHN0cmluZywgT2JqZWN0PiA9IG5ldyBNYXAoKTtcblxuICAvLyBSZXR1cm5zIHRoZSBnaXZlbiBkYXRhVXJpIHN0cmluZyBzdHJpcHBlZCBvZiB0aGUgbWltZXR5cGUgcGFydC5cbiAgcHVibGljIHN0YXRpYyBTdHJpcE1pbWVTdHJpbmdGcm9tRGF0YVVyaShkYXRhVXJpOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghZGF0YVVyaSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IG1pbWVTdHJpbmc6IHN0cmluZyA9IHRoaXMuR2V0TWltZVN0cmluZ0Zyb21EYXRhVXJpKGRhdGFVcmkpO1xuICAgIHJldHVybiBkYXRhVXJpLnN1YnN0cihtaW1lU3RyaW5nLmxlbmd0aCArIDEpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBHZXRNaW1lU3RyaW5nRnJvbURhdGFVcmkoZGF0YVVyaTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIWRhdGFVcmkpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YVVyaS5zcGxpdCgnLCcpWzBdO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhc3luYyBGaWxlRXhpc3RzKHVybDogc3RyaW5nLCBhc3NldFBhdGg6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYXhpb3Moe1xuICAgICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgICB1cmw6IGAke2Fzc2V0UGF0aH1nZXRGaWxlcy5waHA/YXNzZXRVcmw9JHt1cmx9YCxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiBcImpzb25cIlxuICAgICAgfSlcbiAgICAgIHJldHVybiAhIXJlc3VsdC5kYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZXJlIGlzIHNvbWUgZGlzY3JlcGFuY3kgcmVnYXJkaW5nIGxvY2F0aW9ucyBvZiBoM2Qgb2JqZWN0c1xuICAgKiBUaGVyZWZvciB3ZSBuZWVkIHRvICh0ZW1wb3JhcmlseT8hKSBmaXggdGhlIGNvbnRlbnQgdXJsXG4gICAqIEFsc28gd2UgbmVlZCB0byBjaGFuZ2Ugc29tZSBhZGRpdGlvbmFsc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBGaXhVcmwoYXNzZXRVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFhc3NldFVybCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBsZXQgZml4ZWRVcmw6IHN0cmluZyA9IGFzc2V0VXJsO1xuICAgIGlmICghZml4ZWRVcmwuZW5kc1dpdGgoJ2dsYicpICYmICFmaXhlZFVybC5lbmRzV2l0aCgnb2JqJykgJiYgIWZpeGVkVXJsLmVuZHNXaXRoKCdnbGIuZ3onKSAmJiAhZml4ZWRVcmwuZW5kc1dpdGgoJ29iai5neicpKSB7XG4gICAgICBmaXhlZFVybCA9IEZpbGVVdGlscy5GaXhVbml0eVVybChmaXhlZFVybCk7XG4gICAgfVxuICAgIGZpeGVkVXJsID0gZml4ZWRVcmwucmVwbGFjZSgnL2NvbnRlbnQvJywgJy9jb250ZW50NDMvJyk7XG4gICAgcmV0dXJuIGZpeGVkVXJsO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBGaXhHbGJVcmwoYXNzZXRVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFhc3NldFVybCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBsZXQgZml4ZWRVcmw6IHN0cmluZyA9IGFzc2V0VXJsO1xuICAgIGlmIChhc3NldFVybC5pbmRleE9mKCdfd2VicGxheWVyJykgPT09IC0xKSB7XG4gICAgICBmaXhlZFVybCA9IGFzc2V0VXJsLmNvbmNhdCgnX3dlYnBsYXllcicpO1xuICAgIH1cbiAgICBmaXhlZFVybCA9IGZpeGVkVXJsLnJlcGxhY2UoJy9jb250ZW50LycsICcvY29udGVudDQzLycpO1xuICAgIGlmICghZml4ZWRVcmwuZW5kc1dpdGgoJy5nbGInKSkge1xuICAgICAgZml4ZWRVcmwgPSBmaXhlZFVybC5jb25jYXQoJy5nbGInKTtcbiAgICB9XG4gICAgcmV0dXJuIGZpeGVkVXJsO1xuICB9XG5cbiAgLy8gUmV0dXJuIHRoZSBtaW1ldHlwZSBvZiB0aGUgZ2l2ZW4gZmlsZW5hbWUuXG4gIHB1YmxpYyBzdGF0aWMgTWltZVR5cGVGcm9tRmlsZW5hbWUoZmlsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcmVnRXg6IFJlZ0V4cCA9IC8oPzpcXC4oW14uXSspKT8kLzsgLy8gcmVnZXggdG8gZmluZCBleHRlbnNpb25cbiAgICBjb25zdCBleHRlbnNpb246IGFueSA9IHJlZ0V4LmV4ZWMoZmlsZU5hbWUpWzFdO1xuICAgIHN3aXRjaCAoZXh0ZW5zaW9uKSB7XG4gICAgICBjYXNlICdqcGcnOlxuICAgICAgY2FzZSAnanBlZyc6XG4gICAgICAgIHJldHVybiAnaW1hZ2UvanBlZyc7XG4gICAgICBjYXNlICdwbmcnOlxuICAgICAgICByZXR1cm4gJ2ltYWdlL3BuZyc7XG4gICAgICBjYXNlICdibXAnOlxuICAgICAgICByZXR1cm4gJ2ltYWdlL2JtcCc7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERvd25sb2FkcyB0aGUgZ2l2ZW4gZmlsZSB0byB0aGUgdXNlcnMgZGVmYXVsdCBkb3dubG9hZCBsb2NhdGlvbi5cbiAgICogQHBhcmFtIGZpbGVOYW1lIFdpdGggb3Igd2l0aG91dCBleHRlbnNpb25cbiAgICogQHBhcmFtIGNvbnRlbnQgRmlsZSBjb250ZW50IGFzIGEgc3RyaW5nXG4gICAqIEBwYXJhbSBbbWltZVR5cGUgPSAndGV4dC9wbGFpbiddXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIERvd25sb2FkRmlsZShcbiAgICBmaWxlTmFtZTogc3RyaW5nLFxuICAgIGNvbnRlbnQ6IHN0cmluZyxcbiAgICBtaW1lVHlwZTogc3RyaW5nID0gJ3RleHQvcGxhaW4nXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxBbmNob3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdocmVmJywgJ2RhdGE6JyArIG1pbWVUeXBlICsgJztjaGFyc2V0PXV0Zi04LCcgKyBlbmNvZGVVUklDb21wb25lbnQoY29udGVudCkpO1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGZpbGVOYW1lKTtcblxuICAgIGVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpO1xuXG4gICAgZWxlbWVudC5jbGljaygpO1xuXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbGVtZW50KTtcbiAgfVxuXG4gIC8vIFJldHVybnMgdGhlIGNvbnRlbnRzIG9mIGdpdmVuIGZpbGUgYXMgYSB0ZXh0IHN0cmluZy5cbiAgcHVibGljIHN0YXRpYyBSZWFkQXNUZXh0KGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlOiBGdW5jdGlvbikgPT4ge1xuICAgICAgY29uc3QgcmVhZGVyOiBGaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUpO1xuICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9IChldmVudDogYW55KSA9PiB7XG4gICAgICAgIGlmIChldmVudC50YXJnZXQucmVhZHlTdGF0ZSA9PT0gMikge1xuICAgICAgICAgIHJlc29sdmUoZXZlbnQudGFyZ2V0LnJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIEdldEV4dGVuc2lvbkZyb21EYXRhVXJpKGRhdGFVcmk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRhdGFVcmkucmVwbGFjZSgvKGRhdGE6aW1hZ2VcXC8pKC4qPykoO2Jhc2U2NC4qKS9naSwgJyQyJyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIENyZWF0ZURvd25sb2FkRmlsZU5hbWVGcm9tQmFzZTY0KGRhdGFVcmk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZXh0OiBzdHJpbmcgPSB0aGlzLkdldEV4dGVuc2lvbkZyb21EYXRhVXJpKGRhdGFVcmkpO1xuICAgIHJldHVybiAncHJldmlldy4nICsgZXh0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBEb3dubG9hZEZyb21EYXRhVXJpKGRhdGFVcmk6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGxpbms6IGFueSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBsaW5rLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgbGluay5ocmVmID0gZGF0YVVyaTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgIGxpbmsuY2xpY2soKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xuICB9XG5cbiAgLy8gdG9kbyByZW1vdmUgb25jZSBDb25uZWN0b3IgZGVhbHMgd2l0aCBtaW1ldHlwZXMgYW5kIHRoaXMgbWV0aG9kIGlzbid0IHVzZWQgYW55bW9yZVxuICBwdWJsaWMgc3RhdGljIERvY3VtZW50Qm9keVRvRGF0YVVyaShkb2N1bWVudEJvZHk6IHN0cmluZywgbWltZVR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCEhZG9jdW1lbnRCb2R5KSB7XG4gICAgICByZXR1cm4gJ2RhdGE6JyArIG1pbWVUeXBlICsgJztiYXNlNjQsJyArIGRvY3VtZW50Qm9keTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIEZpeFVuaXR5VXJsKHVybCk6IHN0cmluZyB7XG4gICAgaWYgKHVybC5pbmRleE9mKCdfd2VicGxheWVyJykgPT09IC0xKSB7XG4gICAgICB1cmwgPSB1cmwuY29uY2F0KCdfd2VicGxheWVyLmlvbmUzZCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB1cmwgPSB1cmwucmVwbGFjZSgnX3dlYnBsYXllcicsICdfd2VicGxheWVyLmlvbmUzZCcpO1xuICAgIH1cbiAgICBpZiAoIXVybC5lbmRzV2l0aCgnLmd6JykpIHtcbiAgICAgIHVybCA9IHVybC5jb25jYXQoJy5neicpO1xuICAgIH1cbiAgICByZXR1cm4gdXJsLnJlcGxhY2UoJy51bml0eTNkJywgJycpO1xuICB9XG59XG4iXX0=
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9maWxlLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsb0RBQW9EO0FBQ3BELFdBQVc7QUFDWCxNQUFNLE9BQU8sU0FBUztJQUlwQixrRUFBa0U7SUFDM0QsTUFBTSxDQUFDLDBCQUEwQixDQUFDLE9BQWU7UUFDdEQsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxNQUFNLFVBQVUsR0FBVyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxPQUFlO1FBQ3BELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxNQUFNLENBQU8sVUFBVSxDQUFDLEdBQVcsRUFBRSxTQUFpQjs7WUFDM0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzVCLFNBQVMsR0FBRyxTQUFTLEdBQUcsR0FBRyxDQUFDO2FBQzdCO1lBQ0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUM7Z0JBQ3pCLE1BQU0sRUFBRSxLQUFLO2dCQUNiLEdBQUcsRUFBRSxHQUFHLFNBQVMseUJBQXlCLEdBQUcsRUFBRTtnQkFDL0MsWUFBWSxFQUFFLE1BQU07YUFDckIsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN6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QixPQUFPLE9BQU8sR0FBRyxRQUFRLEdBQUcsVUFBVSxHQUFHLFlBQVksQ0FBQztTQUN2RDthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUM7U0FDWDtJQUNILENBQUM7SUFFTyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUc7UUFDNUIsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3BDLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDdkM7YUFBTTtZQUNMLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7UUFDRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7O0FBeEpjLCtCQUFxQixHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF4aW9zIGZyb20gXCJheGlvc1wiO1xuLy8gU3RhdGljIHV0aWxpdHkgZnVuY3Rpb25zIGhvbGRlciByZWxhdGVkIHRvIGZpbGVzLlxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBGaWxlVXRpbHMge1xuXG4gIHByaXZhdGUgc3RhdGljIF9jYWNoZWRUZXh0dXJlVXBsb2FkczogTWFwPHN0cmluZywgT2JqZWN0PiA9IG5ldyBNYXAoKTtcblxuICAvLyBSZXR1cm5zIHRoZSBnaXZlbiBkYXRhVXJpIHN0cmluZyBzdHJpcHBlZCBvZiB0aGUgbWltZXR5cGUgcGFydC5cbiAgcHVibGljIHN0YXRpYyBTdHJpcE1pbWVTdHJpbmdGcm9tRGF0YVVyaShkYXRhVXJpOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghZGF0YVVyaSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IG1pbWVTdHJpbmc6IHN0cmluZyA9IHRoaXMuR2V0TWltZVN0cmluZ0Zyb21EYXRhVXJpKGRhdGFVcmkpO1xuICAgIHJldHVybiBkYXRhVXJpLnN1YnN0cihtaW1lU3RyaW5nLmxlbmd0aCArIDEpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBHZXRNaW1lU3RyaW5nRnJvbURhdGFVcmkoZGF0YVVyaTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIWRhdGFVcmkpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YVVyaS5zcGxpdCgnLCcpWzBdO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhc3luYyBGaWxlRXhpc3RzKHVybDogc3RyaW5nLCBhc3NldFBhdGg6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICghYXNzZXRQYXRoLmVuZHNXaXRoKCcvJykpIHtcbiAgICAgIGFzc2V0UGF0aCA9IGFzc2V0UGF0aCArICcvJztcbiAgICB9XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBheGlvcyh7XG4gICAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICAgIHVybDogYCR7YXNzZXRQYXRofWdldEZpbGVzLnBocD9hc3NldFVybD0ke3VybH1gLFxuICAgICAgICByZXNwb25zZVR5cGU6IFwianNvblwiXG4gICAgICB9KVxuICAgICAgcmV0dXJuICEhcmVzdWx0LmRhdGE7XG4gIH1cblxuICAvKipcbiAgICogVGhlcmUgaXMgc29tZSBkaXNjcmVwYW5jeSByZWdhcmRpbmcgbG9jYXRpb25zIG9mIGgzZCBvYmplY3RzXG4gICAqIFRoZXJlZm9yIHdlIG5lZWQgdG8gKHRlbXBvcmFyaWx5PyEpIGZpeCB0aGUgY29udGVudCB1cmxcbiAgICogQWxzbyB3ZSBuZWVkIHRvIGNoYW5nZSBzb21lIGFkZGl0aW9uYWxzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIEZpeFVybChhc3NldFVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIWFzc2V0VXJsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGxldCBmaXhlZFVybDogc3RyaW5nID0gYXNzZXRVcmw7XG4gICAgaWYgKCFmaXhlZFVybC5lbmRzV2l0aCgnZ2xiJykgJiYgIWZpeGVkVXJsLmVuZHNXaXRoKCdvYmonKSAmJiAhZml4ZWRVcmwuZW5kc1dpdGgoJ2dsYi5neicpICYmICFmaXhlZFVybC5lbmRzV2l0aCgnb2JqLmd6JykpIHtcbiAgICAgIGZpeGVkVXJsID0gRmlsZVV0aWxzLkZpeFVuaXR5VXJsKGZpeGVkVXJsKTtcbiAgICB9XG4gICAgZml4ZWRVcmwgPSBmaXhlZFVybC5yZXBsYWNlKCcvY29udGVudC8nLCAnL2NvbnRlbnQ0My8nKTtcbiAgICByZXR1cm4gZml4ZWRVcmw7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIEZpeEdsYlVybChhc3NldFVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIWFzc2V0VXJsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGxldCBmaXhlZFVybDogc3RyaW5nID0gYXNzZXRVcmw7XG4gICAgaWYgKGFzc2V0VXJsLmluZGV4T2YoJ193ZWJwbGF5ZXInKSA9PT0gLTEpIHtcbiAgICAgIGZpeGVkVXJsID0gYXNzZXRVcmwuY29uY2F0KCdfd2VicGxheWVyJyk7XG4gICAgfVxuICAgIGZpeGVkVXJsID0gZml4ZWRVcmwucmVwbGFjZSgnL2NvbnRlbnQvJywgJy9jb250ZW50NDMvJyk7XG4gICAgaWYgKCFmaXhlZFVybC5lbmRzV2l0aCgnLmdsYicpKSB7XG4gICAgICBmaXhlZFVybCA9IGZpeGVkVXJsLmNvbmNhdCgnLmdsYicpO1xuICAgIH1cbiAgICByZXR1cm4gZml4ZWRVcmw7XG4gIH1cblxuICAvLyBSZXR1cm4gdGhlIG1pbWV0eXBlIG9mIHRoZSBnaXZlbiBmaWxlbmFtZS5cbiAgcHVibGljIHN0YXRpYyBNaW1lVHlwZUZyb21GaWxlbmFtZShmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCByZWdFeDogUmVnRXhwID0gLyg/OlxcLihbXi5dKykpPyQvOyAvLyByZWdleCB0byBmaW5kIGV4dGVuc2lvblxuICAgIGNvbnN0IGV4dGVuc2lvbjogYW55ID0gcmVnRXguZXhlYyhmaWxlTmFtZSlbMV07XG4gICAgc3dpdGNoIChleHRlbnNpb24pIHtcbiAgICAgIGNhc2UgJ2pwZyc6XG4gICAgICBjYXNlICdqcGVnJzpcbiAgICAgICAgcmV0dXJuICdpbWFnZS9qcGVnJztcbiAgICAgIGNhc2UgJ3BuZyc6XG4gICAgICAgIHJldHVybiAnaW1hZ2UvcG5nJztcbiAgICAgIGNhc2UgJ2JtcCc6XG4gICAgICAgIHJldHVybiAnaW1hZ2UvYm1wJztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRG93bmxvYWRzIHRoZSBnaXZlbiBmaWxlIHRvIHRoZSB1c2VycyBkZWZhdWx0IGRvd25sb2FkIGxvY2F0aW9uLlxuICAgKiBAcGFyYW0gZmlsZU5hbWUgV2l0aCBvciB3aXRob3V0IGV4dGVuc2lvblxuICAgKiBAcGFyYW0gY29udGVudCBGaWxlIGNvbnRlbnQgYXMgYSBzdHJpbmdcbiAgICogQHBhcmFtIFttaW1lVHlwZSA9ICd0ZXh0L3BsYWluJ11cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgRG93bmxvYWRGaWxlKFxuICAgIGZpbGVOYW1lOiBzdHJpbmcsXG4gICAgY29udGVudDogc3RyaW5nLFxuICAgIG1pbWVUeXBlOiBzdHJpbmcgPSAndGV4dC9wbGFpbidcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudDogSFRNTEFuY2hvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnZGF0YTonICsgbWltZVR5cGUgKyAnO2NoYXJzZXQ9dXRmLTgsJyArIGVuY29kZVVSSUNvbXBvbmVudChjb250ZW50KSk7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgZmlsZU5hbWUpO1xuXG4gICAgZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG5cbiAgICBlbGVtZW50LmNsaWNrKCk7XG5cbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQpO1xuICB9XG5cbiAgLy8gUmV0dXJucyB0aGUgY29udGVudHMgb2YgZ2l2ZW4gZmlsZSBhcyBhIHRleHQgc3RyaW5nLlxuICBwdWJsaWMgc3RhdGljIFJlYWRBc1RleHQoZmlsZTogRmlsZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmU6IEZ1bmN0aW9uKSA9PiB7XG4gICAgICBjb25zdCByZWFkZXI6IEZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSk7XG4gICAgICByZWFkZXIub25sb2FkZW5kID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlID09PSAyKSB7XG4gICAgICAgICAgcmVzb2x2ZShldmVudC50YXJnZXQucmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgR2V0RXh0ZW5zaW9uRnJvbURhdGFVcmkoZGF0YVVyaTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGF0YVVyaS5yZXBsYWNlKC8oZGF0YTppbWFnZVxcLykoLio/KSg7YmFzZTY0LiopL2dpLCAnJDInKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgQ3JlYXRlRG93bmxvYWRGaWxlTmFtZUZyb21CYXNlNjQoZGF0YVVyaTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBleHQ6IHN0cmluZyA9IHRoaXMuR2V0RXh0ZW5zaW9uRnJvbURhdGFVcmkoZGF0YVVyaSk7XG4gICAgcmV0dXJuICdwcmV2aWV3LicgKyBleHQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIERvd25sb2FkRnJvbURhdGFVcmkoZGF0YVVyaTogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbGluazogYW55ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlTmFtZTtcbiAgICBsaW5rLmhyZWYgPSBkYXRhVXJpO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG4gICAgbGluay5jbGljaygpO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XG4gIH1cblxuICAvLyB0b2RvIHJlbW92ZSBvbmNlIENvbm5lY3RvciBkZWFscyB3aXRoIG1pbWV0eXBlcyBhbmQgdGhpcyBtZXRob2QgaXNuJ3QgdXNlZCBhbnltb3JlXG4gIHB1YmxpYyBzdGF0aWMgRG9jdW1lbnRCb2R5VG9EYXRhVXJpKGRvY3VtZW50Qm9keTogc3RyaW5nLCBtaW1lVHlwZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoISFkb2N1bWVudEJvZHkpIHtcbiAgICAgIHJldHVybiAnZGF0YTonICsgbWltZVR5cGUgKyAnO2Jhc2U2NCwnICsgZG9jdW1lbnRCb2R5O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgRml4VW5pdHlVcmwodXJsKTogc3RyaW5nIHtcbiAgICBpZiAodXJsLmluZGV4T2YoJ193ZWJwbGF5ZXInKSA9PT0gLTEpIHtcbiAgICAgIHVybCA9IHVybC5jb25jYXQoJ193ZWJwbGF5ZXIuaW9uZTNkJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVybCA9IHVybC5yZXBsYWNlKCdfd2VicGxheWVyJywgJ193ZWJwbGF5ZXIuaW9uZTNkJyk7XG4gICAgfVxuICAgIGlmICghdXJsLmVuZHNXaXRoKCcuZ3onKSkge1xuICAgICAgdXJsID0gdXJsLmNvbmNhdCgnLmd6Jyk7XG4gICAgfVxuICAgIHJldHVybiB1cmwucmVwbGFjZSgnLnVuaXR5M2QnLCAnJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -49,4 +49,4 @@ export class ImageUtils {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
ImageUtils.textures = new Map();
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW1hZ2UudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFL0IsV0FBVztBQUNYLE1BQU0sT0FBTyxVQUFVO0lBSWQsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEVBQVUsRUFBRSxNQUFjLEVBQUUsUUFBa0I7UUFDbEYsT0FBTyxJQUFJLE9BQU8sQ0FBZ0IsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM1QyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUMvQixPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN0QztpQkFBTTtnQkFDTCxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUNYLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2lCQUM5QjtxQkFBTTtvQkFDTCxNQUFNLE1BQU0sR0FBd0IsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQzlELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBc0IsRUFBRSxFQUFFO3dCQUM3QyxPQUFPLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQzt3QkFDeEIsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO3dCQUNyQyxPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7d0JBQ3JDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ3JHLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO3dCQUMzQixVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7d0JBQ3JDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDbkIsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFnQixFQUFFLFlBQW9CO1FBQ25GLElBQUksWUFBWSxLQUFLLElBQUksRUFBRTtZQUN6QixPQUFPLFlBQVksQ0FBQztTQUNyQjtRQUNELE1BQU0sYUFBYSxHQUFXLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM3RSxRQUFRLGFBQWEsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNuQyxLQUFLLEtBQUssQ0FBQztZQUNYLEtBQUssTUFBTTtnQkFDVCxPQUFPLHdCQUF3QixHQUFHLFlBQVksQ0FBQztZQUNqRCxLQUFLLEtBQUs7Z0JBQ1IsT0FBTyx3QkFBd0IsR0FBRyxZQUFZLENBQUM7WUFDakQsS0FBSyxLQUFLO2dCQUNSLE9BQU8sd0JBQXdCLEdBQUcsWUFBWSxDQUFDO1lBQ2pELEtBQUssS0FBSztnQkFDUixPQUFPLHdCQUF3QixHQUFHLFlBQVksQ0FBQztZQUNqRDtnQkFDRSxPQUFPLHdCQUF3QixHQUFHLFlBQVksQ0FBQztTQUNsRDtJQUNILENBQUM7SUFFTSxNQUFNLENBQUMsd0JBQXdCLENBQUMsZ0JBQXdCO1FBQzdELE9BQU8sZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUM5RCxDQUFDOztBQS9DYSxtQkFBUSxHQUErQixJQUFJLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHtNYXRlcmlhbH0gZnJvbSAnLi4vbW9kZWwvbWF0ZXJpYWwnO1xuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBJbWFnZVV0aWxzIHtcblxuICBwdWJsaWMgc3RhdGljIHRleHR1cmVzOiBNYXA8c3RyaW5nLCBUSFJFRS5UZXh0dXJlPiA9IG5ldyBNYXAoKTtcblxuICBwdWJsaWMgc3RhdGljIENyZWF0ZVRleHR1cmVGcm9tQmFzZTY0KGlkOiBzdHJpbmcsIGJhc2U2NDogc3RyaW5nLCBtYXRlcmlhbDogTWF0ZXJpYWwpOiBQcm9taXNlPFRIUkVFLlRleHR1cmU+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8VEhSRUUuVGV4dHVyZT4oKHJlc29sdmUpID0+IHtcbiAgICAgIGlmIChJbWFnZVV0aWxzLnRleHR1cmVzLmhhcyhpZCkpIHtcbiAgICAgICAgcmVzb2x2ZShJbWFnZVV0aWxzLnRleHR1cmVzLmdldChpZCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFiYXNlNjQpIHtcbiAgICAgICAgICByZXNvbHZlKG5ldyBUSFJFRS5UZXh0dXJlKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGxvYWRlcjogVEhSRUUuVGV4dHVyZUxvYWRlciA9IG5ldyBUSFJFRS5UZXh0dXJlTG9hZGVyKCk7XG4gICAgICAgICAgbG9hZGVyLmxvYWQoYmFzZTY0LCAodGV4dHVyZTogVEhSRUUuVGV4dHVyZSkgPT4ge1xuICAgICAgICAgICAgdGV4dHVyZS5hbmlzb3Ryb3B5ID0gMTY7XG4gICAgICAgICAgICB0ZXh0dXJlLndyYXBTID0gVEhSRUUuUmVwZWF0V3JhcHBpbmc7XG4gICAgICAgICAgICB0ZXh0dXJlLndyYXBUID0gVEhSRUUuUmVwZWF0V3JhcHBpbmc7XG4gICAgICAgICAgICB0ZXh0dXJlLnJlcGVhdCA9IG5ldyBUSFJFRS5WZWN0b3IyKG1hdGVyaWFsID8gbWF0ZXJpYWwucmVwZWF0WCA6IDEsIG1hdGVyaWFsID8gbWF0ZXJpYWwucmVwZWF0WSA6IDEpO1xuICAgICAgICAgICAgdGV4dHVyZS5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgICAgICAgICBJbWFnZVV0aWxzLnRleHR1cmVzLnNldChpZCwgdGV4dHVyZSk7XG4gICAgICAgICAgICByZXNvbHZlKHRleHR1cmUpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldERvY0JvZHlXaXRoTWltZVR5cGVEZWZpbml0aW9uKGZpbGVOYW1lOiBzdHJpbmcsIGRvY3VtZW50Qm9keTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoZG9jdW1lbnRCb2R5ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnRCb2R5O1xuICAgIH1cbiAgICBjb25zdCBmaWxlRXh0ZW5zaW9uOiBzdHJpbmcgPSBmaWxlTmFtZS5zdWJzdHIoZmlsZU5hbWUubGFzdEluZGV4T2YoJy4nKSArIDEpO1xuICAgIHN3aXRjaCAoZmlsZUV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBjYXNlIFwianBnXCI6XG4gICAgICBjYXNlIFwianBlZ1wiOlxuICAgICAgICByZXR1cm4gXCJkYXRhOmltYWdlL2pwZztiYXNlNjQsXCIgKyBkb2N1bWVudEJvZHk7XG4gICAgICBjYXNlIFwicG5nXCI6XG4gICAgICAgIHJldHVybiBcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxcIiArIGRvY3VtZW50Qm9keTtcbiAgICAgIGNhc2UgXCJnaWZcIjpcbiAgICAgICAgcmV0dXJuIFwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFwiICsgZG9jdW1lbnRCb2R5O1xuICAgICAgY2FzZSBcImJtcFwiOlxuICAgICAgICByZXR1cm4gXCJkYXRhOmltYWdlL2JtcDtiYXNlNjQsXCIgKyBkb2N1bWVudEJvZHk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsXCIgKyBkb2N1bWVudEJvZHk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRGaXhlZEltYWdlRmlsZXBhdGhVcmwoaW1hZ2VGaWxlcGF0aFVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaW1hZ2VGaWxlcGF0aFVybC5yZXBsYWNlKFwiL2NvbnRlbnQvXCIsIFwiL2NvbnRlbnQ0My9cIik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -46,4 +46,4 @@ export class ObjectUtils {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
ObjectUtils.materialProps = ['map', 'lightMap', 'bumpMap', 'normalMap', 'specularMap', 'envMap', 'aoMap', 'roughnessMap', 'metalnessMap'];
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL29iamVjdC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsSUFBSSxFQUFXLE1BQU0sT0FBTyxDQUFDO0FBRS9DLE1BQU0sT0FBTyxXQUFXO0lBR2IsTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUErQjtRQUN6RCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ1gsT0FBTztTQUNWO1FBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pCLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxhQUFhO3FCQUNiLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDaEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDSCxJQUFJLENBQUMsYUFBYTtpQkFDYixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQztpQkFDakUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDckQsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFO2dCQUNsQixRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDdEI7U0FDSjtJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQXVCO1FBQy9DLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3hCLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQy9EO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFxQjtRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBYSxFQUFFLEVBQUU7WUFDNUIsSUFBSSxHQUFHLFlBQVksSUFBSSxFQUFFO2dCQUNyQixJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUU7b0JBQ2QsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDMUI7Z0JBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdEM7WUFDRCxJQUFJLE9BQVEsR0FBVyxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUU7Z0JBQzVDLGFBQWE7Z0JBQ2IsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2pCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztBQTlDTSx5QkFBYSxHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TWF0ZXJpYWwsIE1lc2gsIE9iamVjdDNEfSBmcm9tIFwidGhyZWVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBPYmplY3RVdGlscyB7XHJcbiAgICBzdGF0aWMgbWF0ZXJpYWxQcm9wcyA9IFsnbWFwJywgJ2xpZ2h0TWFwJywgJ2J1bXBNYXAnLCAnbm9ybWFsTWFwJywgJ3NwZWN1bGFyTWFwJywgJ2Vudk1hcCcsICdhb01hcCcsICdyb3VnaG5lc3NNYXAnLCAnbWV0YWxuZXNzTWFwJ107XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBEaXNwb3NlTWF0ZXJpYWwobWF0ZXJpYWw6IE1hdGVyaWFsIHwgTWF0ZXJpYWxbXSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghbWF0ZXJpYWwpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShtYXRlcmlhbCkpIHtcclxuICAgICAgICAgICAgbWF0ZXJpYWwuZm9yRWFjaChtdHJsID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubWF0ZXJpYWxQcm9wc1xyXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIobWFwVHlwZSA9PiBtdHJsW21hcFR5cGVdKVxyXG4gICAgICAgICAgICAgICAgICAgIC5mb3JFYWNoKG1hcFR5cGUgPT4gbXRybFttYXBUeXBlXS5kaXNwb3NlKCkpO1xyXG4gICAgICAgICAgICAgICAgbXRybC5kaXNwb3NlKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubWF0ZXJpYWxQcm9wc1xyXG4gICAgICAgICAgICAgICAgLmZpbHRlcihtYXBUeXBlID0+IG1hdGVyaWFsW21hcFR5cGVdICYmIG1hdGVyaWFsW21hcFR5cGVdLmRpc3Bvc2UpXHJcbiAgICAgICAgICAgICAgICAuZm9yRWFjaChtYXBUeXBlID0+IG1hdGVyaWFsW21hcFR5cGVdLmRpc3Bvc2UoKSk7XHJcbiAgICAgICAgICAgIGlmIChtYXRlcmlhbC5kaXNwb3NlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXRlcmlhbC5kaXNwb3NlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBEaXNwb3NlT2JqZWN0KG9iamVjdDogT2JqZWN0M0QgfCBNZXNoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFvYmplY3QpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAob2JqZWN0LmNoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBvYmplY3QuY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB0aGlzLkRpc3Bvc2VPYmplY3QoY2hpbGQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5EaXNwb3NlTm9kZShvYmplY3QpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIERpc3Bvc2VOb2RlKG5vZGU6IE9iamVjdDNEIHwgTWVzaCk6IHZvaWQge1xyXG4gICAgICAgIG5vZGUudHJhdmVyc2UoKG9iajogT2JqZWN0M0QpID0+IHtcclxuICAgICAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIE1lc2gpIHtcclxuICAgICAgICAgICAgICAgIGlmIChvYmouZ2VvbWV0cnkpIHtcclxuICAgICAgICAgICAgICAgICAgICBvYmouZ2VvbWV0cnkuZGlzcG9zZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5EaXNwb3NlTWF0ZXJpYWwob2JqLm1hdGVyaWFsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIChvYmogYXMgYW55KS5kaXNwb3NlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICBvYmouZGlzcG9zZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -91,4 +91,4 @@ export class SceneUtils {
|
|
|
91
91
|
return true;
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUtdXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29saWpuaXQvY29uZmlndXJhdG9yLyIsInNvdXJjZXMiOlsidXRpbHMvc2NlbmUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFL0IsTUFBTSxPQUFPLFVBQVU7SUFFWixNQUFNLENBQUMscUJBQXFCLENBQUMsS0FBa0IsRUFBRSxNQUFzQixFQUMxRSxLQUFVLEVBQUUsS0FBVSxFQUFFLGVBQTBCO1FBQ2xELElBQUksT0FBWSxDQUFDO1FBQ2pCLElBQUksZUFBZSxFQUFFO1lBQ2pCLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDaEIsS0FBSyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNwQztRQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM1QyxLQUFLLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUU7Z0JBQy9DLE1BQU0sSUFBSSxHQUFtQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLElBQUksR0FBbUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDaEQsK0NBQStDO2dCQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUU7b0JBQ2pGLG9EQUFvRDtvQkFDcEQsSUFBSSxPQUFPLEVBQUU7d0JBQ1QsTUFBTSxRQUFRLEdBQW1CLGVBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxF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Q0FBQyxDQUFDO1FBRXJDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5Qix5QkFBeUI7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBTY2VuZVV0aWxzIHtcclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIFRyeVNlbGVjdG9yQ29ubmVjdGlvbihzY2VuZTogVEhSRUUuU2NlbmUsIHBhcmVudDogVEhSRUUuT2JqZWN0M0QsXHJcbiAgICAgICAgcGFydDE6IGFueSwgcGFydDI6IGFueSwgY3JlYXRlQWRkYWJsZUZuPzogRnVuY3Rpb24pOiBib29sZWFuIHtcclxuICAgICAgICBsZXQgYWRkYWJsZTogYW55O1xyXG4gICAgICAgIGlmIChjcmVhdGVBZGRhYmxlRm4pIHtcclxuICAgICAgICAgICAgYWRkYWJsZSA9IHBhcnQyO1xyXG4gICAgICAgICAgICBwYXJ0MiA9IGNyZWF0ZUFkZGFibGVGbihhZGRhYmxlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0MS5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpaSA9IDA7IGlpIDwgcGFydDIuY2hpbGRyZW4ubGVuZ3RoOyBpaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjb24xOiBUSFJFRS5PYmplY3QzRCA9IHBhcnQxLmNoaWxkcmVuW2ldO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29uMjogVEhSRUUuT2JqZWN0M0QgPSBwYXJ0Mi5jaGlsZHJlbltpaV07XHJcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGVzZSBjb25uZWN0b3JzIGNhbiBjb25uZWN0IGNvbm5lY3QgdGhlbVxyXG4gICAgICAgICAgICAgICAgaWYgKCFjb24xWydjb25uZWN0ZWQnXSAmJiAhY29uMlsnY29ubmVjdGVkJ10gJiYgdGhpcy5DYW5TZWxlY3RvckNvbm5lY3QoY29uMSwgY29uMikpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBpZiBhZGRhYmxlLCBjb250aW51ZSB0aGlzIGxvb3Agd2l0aCBhIG5ldyBhZGRhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFkZGFibGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UGFydDI6IFRIUkVFLk9iamVjdDNEID0gY3JlYXRlQWRkYWJsZUZuKGFkZGFibGUsIHBhcnQyLCBwYXJ0MSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlZmVyZW5jZSBvZiBwYXJ0MiBjaGFuZ2VkLCBzbyByZWZyZXNoIGNvbjJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5TZWxlY3RvckNvbm5lY3Qoc2NlbmUsIHBhcmVudCwgY29uMSwgbmV3UGFydDIuY2hpbGRyZW5baWldKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5TZWxlY3RvckNvbm5lY3Qoc2NlbmUsIHBhcmVudCwgY29uMSwgY29uMik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIENvbnZlcnQzRFBvaW50VG9TY3JlZW5Qb2ludChwb2ludDogVEhSRUUuVmVjdG9yMywgY2FtZXJhOiBUSFJFRS5DYW1lcmEsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKTogVEhSRUUuVmVjdG9yMiB7XHJcbiAgICAgICAgaWYgKCFwb2ludCkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFRIUkVFLlZlY3RvcjIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdmVjdG9yOiBUSFJFRS5WZWN0b3IzID0gcG9pbnQuY2xvbmUoKS5wcm9qZWN0KGNhbWVyYSk7XHJcbiAgICAgICAgdmVjdG9yLnggPSAodmVjdG9yLnggKyAxKSAvIDIgKiB3aWR0aDtcclxuICAgICAgICB2ZWN0b3IueSA9IC0odmVjdG9yLnkgLSAxKSAvIDIgKiBoZWlnaHQ7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBUSFJFRS5WZWN0b3IyKHZlY3Rvci54LCB2ZWN0b3IueSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBDYW5TZWxlY3RvckNvbm5lY3QoY29uMTogVEhSRUUuT2JqZWN0M0QgfCBhbnksIGNvbjI6IFRIUkVFLk9iamVjdDNEIHwgYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgY29uMU5hbWU6IHN0cmluZyA9IGNvbjEgaW5zdGFuY2VvZiBUSFJFRS5PYmplY3QzRCA/IGNvbjEubmFtZSA6IGNvbjEuY29ubmVjdG9yO1xyXG4gICAgICAgIGNvbnN0IGNvbjJOYW1lOiBzdHJpbmcgPSBjb24yIGluc3RhbmNlb2YgVEhSRUUuT2JqZWN0M0QgPyBjb24yLm5hbWUgOiBjb24yLmNvbm5lY3RvcjtcclxuICAgICAgICBjb25zdCBzYW1lUGFyZW50OiBib29sZWFuID0gY29uMSBpbnN0YW5jZW9mIFRIUkVFLk9iamVjdDNEICYmIGNvbjIgaW5zdGFuY2VvZiBUSFJFRS5PYmplY3QzRCA/IGNvbjEucGFyZW50ID09PSBjb24yLnBhcmVudCA6IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IHBhcnRzMTogc3RyaW5nW10gPSBjb24xTmFtZS50b1VwcGVyQ2FzZSgpLnNwbGl0KCdfJyksXHJcbiAgICAgICAgICAgIHBhcnRzMjogc3RyaW5nW10gPSBjb24yTmFtZS50b1VwcGVyQ2FzZSgpLnNwbGl0KCdfJyk7XHJcbiAgICAgICAgaWYgKHBhcnRzMS5sZW5ndGggPj0gMyAmJiBwYXJ0czIubGVuZ3RoID49IDMgJiYgIXNhbWVQYXJlbnQpIHtcclxuICAgICAgICAgICAgY29uc3QgY29ubmVjdGFibGU6IGJvb2xlYW4gPSBwYXJ0czFbMF0gPT09ICdDJyAmJiBwYXJ0czJbMF0gPT09ICdDJyAmJlxyXG4gICAgICAgICAgICAgICAgcGFydHMxWzFdID09PSBwYXJ0czJbMV0gJiYgcGFydHMxWzJdICE9PSBwYXJ0czJbMl07XHJcbiAgICAgICAgICAgIHJldHVybiBjb25uZWN0YWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIFNlbGVjdG9yQ29ubmVjdChzY2VuZTogVEhSRUUuU2NlbmUsIHBhcmVudDogVEhSRUUuT2JqZWN0M0QsIGNvbjE6IFRIUkVFLk9iamVjdDNELCBjb24yOiBUSFJFRS5PYmplY3QzRCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghc2NlbmUgfHwgIXBhcmVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbjFbJ2Nvbm5lY3RlZFRvJ10gPSBjb24yLnBhcmVudC5uYW1lO1xyXG4gICAgICAgIGNvbjJbJ2Nvbm5lY3RlZFRvJ10gPSBjb24xLnBhcmVudC5uYW1lO1xyXG5cclxuICAgICAgICBjb25zdCBtb3RoZXJSb3RhdGlvbjogVEhSRUUuRXVsZXIgPSBuZXcgVEhSRUUuRXVsZXIoMCwgMCwgMCk7XHJcbiAgICAgICAgY29uc3QgbW90aGVyUG9zaXRpb246IFRIUkVFLlZlY3RvcjMgPSBuZXcgVEhSRUUuVmVjdG9yMygwLCAwLCAwKTtcclxuXHJcbiAgICAgICAgc2NlbmUudXBkYXRlTWF0cml4V29ybGQodHJ1ZSk7XHJcbiAgICAgICAgbW90aGVyUm90YXRpb24uY29weShwYXJlbnQucm90YXRpb24pO1xyXG4gICAgICAgIHBhcmVudC5nZXRXb3JsZFBvc2l0aW9uKG1vdGhlclBvc2l0aW9uKTtcclxuXHJcbiAgICAgICAgcGFyZW50LnJvdGF0aW9uLnNldCgwLCAwLCAwKTtcclxuICAgICAgICBwYXJlbnQucG9zaXRpb24uc2V0KDAsIDAsIDApO1xyXG5cclxuICAgICAgICBjb25zdCBjb24xUXVhdDogVEhSRUUuUXVhdGVybmlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XHJcbiAgICAgICAgY29uMS5nZXRXb3JsZFF1YXRlcm5pb24oY29uMVF1YXQpO1xyXG4gICAgICAgIGNvbnN0IGNvbjJRdWF0OiBUSFJFRS5RdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcclxuICAgICAgICBjb24yLmdldFdvcmxkUXVhdGVybmlvbihjb24yUXVhdCk7XHJcbiAgICAgICAgY29uc3QgY29uMVF1YXRQYXJlbnQ6IFRIUkVFLlF1YXRlcm5pb24gPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xyXG4gICAgICAgIGNvbjEucGFyZW50LmdldFdvcmxkUXVhdGVybmlvbihjb24xUXVhdFBhcmVudCk7XHJcbiAgICAgICAgY29uc3QgY29uMlF1YXRQYXJlbnQ6IFRIUkVFLlF1YXRlcm5pb24gPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xyXG4gICAgICAgIGNvbjIucGFyZW50LmdldFdvcmxkUXVhdGVybmlvbihjb24yUXVhdFBhcmVudCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHJvdGF0aW9uOiBUSFJFRS5RdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKS5tdWx0aXBseVF1YXRlcm5pb25zKFxyXG4gICAgICAgICAgICBjb24xUXVhdC5pbnZlcnQoKSxcclxuICAgICAgICAgICAgY29uMlF1YXRcclxuICAgICAgICApLm11bHRpcGx5KFxyXG4gICAgICAgICAgICBuZXcgVEhSRUUuUXVhdGVybmlvbigpLm11bHRpcGx5UXVhdGVybmlvbnMoXHJcbiAgICAgICAgICAgICAgICBjb24xUXVhdFBhcmVudCxcclxuICAgICAgICAgICAgICAgIGNvbjFRdWF0UGFyZW50XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBjb24yLnBhcmVudC5xdWF0ZXJuaW9uLmNvcHkocm90YXRpb24pO1xyXG4gICAgICAgIC8vIFVwZGF0ZSBiZWNhdXNlIHRoZSBtYXRyaXggaGFzIGJlZW4gdGVtcGVyZWQgd2l0aFxyXG4gICAgICAgIHNjZW5lLnVwZGF0ZU1hdHJpeFdvcmxkKHRydWUpO1xyXG5cclxuICAgICAgICAvLyBNb3ZlIHRoZSBjb25uZWN0b3JzIHRvd2FyZHMgZWFjaG90aGVyXHJcbiAgICAgICAgY29uc3QgY29uMVBvczogVEhSRUUuVmVjdG9yMyA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XHJcbiAgICAgICAgY29uMS5nZXRXb3JsZFBvc2l0aW9uKGNvbjFQb3MpO1xyXG4gICAgICAgIGNvbnN0IGNvbjJQb3M6IFRIUkVFLlZlY3RvcjMgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xyXG4gICAgICAgIGNvbjIuZ2V0V29ybGRQb3NpdGlvbihjb24yUG9zKTtcclxuXHJcbiAgICAgICAgY29uc3QgbW92ZTogVEhSRUUuVmVjdG9yMyA9IGNvbjFQb3Muc3ViKGNvbjJQb3MpO1xyXG4gICAgICAgIGNvbjIucGFyZW50LnBvc2l0aW9uLnggKz0gbW92ZS54O1xyXG4gICAgICAgIGNvbjIucGFyZW50LnBvc2l0aW9uLnkgKz0gbW92ZS55O1xyXG4gICAgICAgIGNvbjIucGFyZW50LnBvc2l0aW9uLnogKz0gbW92ZS56O1xyXG5cclxuICAgICAgICAvLyByZXNldCBwYXJlbnQncyBvYmplY3RzIHJvdGF0aW9uIGFuZCBwb3NpdGlvblxyXG4gICAgICAgIHBhcmVudC5yb3RhdGlvbi5jb3B5KG1vdGhlclJvdGF0aW9uKTtcclxuICAgICAgICBwYXJlbnQucG9zaXRpb24uY29weShtb3RoZXJQb3NpdGlvbik7XHJcblxyXG4gICAgICAgIHNjZW5lLnVwZGF0ZU1hdHJpeFdvcmxkKHRydWUpO1xyXG5cclxuICAgICAgICAvLyBTZXQgdGhlIGNvbm5lY3RlZCBmbGFnXHJcbiAgICAgICAgY29uMVsnY29ubmVjdGVkJ10gPSB0cnVlO1xyXG4gICAgICAgIGNvbjJbJ2Nvbm5lY3RlZCddID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvc2NlbmUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFL0IsTUFBTSxPQUFPLFVBQVU7SUFFWixNQUFNLENBQUMscUJBQXFCLENBQUMsS0FBa0IsRUFBRSxNQUFzQixFQUMxRSxLQUFVLEVBQUUsS0FBVSxFQUFFLGVBQTBCO1FBQ2xELElBQUksT0FBWSxDQUFDO1FBQ2pCLElBQUksZUFBZSxFQUFFO1lBQ2pCLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDaEIsS0FBSyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNwQztRQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM1QyxLQUFLLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUU7Z0JBQy9DLE1BQU0sSUFBSSxHQUFtQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLElBQUksR0FBbUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDaEQsK0NBQStDO2dCQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUU7b0JBQ2pGLG9EQUFvRDtvQkFDcEQsSUFBSSxPQUFPLEVBQUU7d0JBQ1QsTUFBTSxRQUFRLEdBQW1CLGVBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxD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LEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5Qix5QkFBeUI7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBTY2VuZVV0aWxzIHtcclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIFRyeVNlbGVjdG9yQ29ubmVjdGlvbihzY2VuZTogVEhSRUUuU2NlbmUsIHBhcmVudDogVEhSRUUuT2JqZWN0M0QsXHJcbiAgICAgICAgcGFydDE6IGFueSwgcGFydDI6IGFueSwgY3JlYXRlQWRkYWJsZUZuPzogRnVuY3Rpb24pOiBib29sZWFuIHtcclxuICAgICAgICBsZXQgYWRkYWJsZTogYW55O1xyXG4gICAgICAgIGlmIChjcmVhdGVBZGRhYmxlRm4pIHtcclxuICAgICAgICAgICAgYWRkYWJsZSA9IHBhcnQyO1xyXG4gICAgICAgICAgICBwYXJ0MiA9IGNyZWF0ZUFkZGFibGVGbihhZGRhYmxlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0MS5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpaSA9IDA7IGlpIDwgcGFydDIuY2hpbGRyZW4ubGVuZ3RoOyBpaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjb24xOiBUSFJFRS5PYmplY3QzRCA9IHBhcnQxLmNoaWxkcmVuW2ldO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29uMjogVEhSRUUuT2JqZWN0M0QgPSBwYXJ0Mi5jaGlsZHJlbltpaV07XHJcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGVzZSBjb25uZWN0b3JzIGNhbiBjb25uZWN0IGNvbm5lY3QgdGhlbVxyXG4gICAgICAgICAgICAgICAgaWYgKCFjb24xWydjb25uZWN0ZWQnXSAmJiAhY29uMlsnY29ubmVjdGVkJ10gJiYgdGhpcy5DYW5TZWxlY3RvckNvbm5lY3QoY29uMSwgY29uMikpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBpZiBhZGRhYmxlLCBjb250aW51ZSB0aGlzIGxvb3Agd2l0aCBhIG5ldyBhZGRhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFkZGFibGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UGFydDI6IFRIUkVFLk9iamVjdDNEID0gY3JlYXRlQWRkYWJsZUZuKGFkZGFibGUsIHBhcnQyLCBwYXJ0MSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlZmVyZW5jZSBvZiBwYXJ0MiBjaGFuZ2VkLCBzbyByZWZyZXNoIGNvbjJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5TZWxlY3RvckNvbm5lY3Qoc2NlbmUsIHBhcmVudCwgY29uMSwgbmV3UGFydDIuY2hpbGRyZW5baWldKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5TZWxlY3RvckNvbm5lY3Qoc2NlbmUsIHBhcmVudCwgY29uMSwgY29uMik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIENvbnZlcnQzRFBvaW50VG9TY3JlZW5Qb2ludChwb2ludDogVEhSRUUuVmVjdG9yMywgY2FtZXJhOiBUSFJFRS5DYW1lcmEsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKTogVEhSRUUuVmVjdG9yMiB7XHJcbiAgICAgICAgaWYgKCFwb2ludCkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFRIUkVFLlZlY3RvcjIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdmVjdG9yOiBUSFJFRS5WZWN0b3IzID0gcG9pbnQuY2xvbmUoKS5wcm9qZWN0KGNhbWVyYSk7XHJcbiAgICAgICAgdmVjdG9yLnggPSAodmVjdG9yLnggKyAxKSAvIDIgKiB3aWR0aDtcclxuICAgICAgICB2ZWN0b3IueSA9IC0odmVjdG9yLnkgLSAxKSAvIDIgKiBoZWlnaHQ7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBUSFJFRS5WZWN0b3IyKHZlY3Rvci54LCB2ZWN0b3IueSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBDYW5TZWxlY3RvckNvbm5lY3QoY29uMTogVEhSRUUuT2JqZWN0M0QgfCBhbnksIGNvbjI6IFRIUkVFLk9iamVjdDNEIHwgYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgY29uMU5hbWU6IHN0cmluZyA9IGNvbjEgaW5zdGFuY2VvZiBUSFJFRS5PYmplY3QzRCA/IGNvbjEubmFtZSA6IGNvbjEuY29ubmVjdG9yO1xyXG4gICAgICAgIGNvbnN0IGNvbjJOYW1lOiBzdHJpbmcgPSBjb24yIGluc3RhbmNlb2YgVEhSRUUuT2JqZWN0M0QgPyBjb24yLm5hbWUgOiBjb24yLmNvbm5lY3RvcjtcclxuICAgICAgICBjb25zdCBzYW1lUGFyZW50OiBib29sZWFuID0gY29uMSBpbnN0YW5jZW9mIFRIUkVFLk9iamVjdDNEICYmIGNvbjIgaW5zdGFuY2VvZiBUSFJFRS5PYmplY3QzRCA/IGNvbjEucGFyZW50ID09PSBjb24yLnBhcmVudCA6IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IHBhcnRzMTogc3RyaW5nW10gPSBjb24xTmFtZS50b1VwcGVyQ2FzZSgpLnNwbGl0KCdfJyksXHJcbiAgICAgICAgICAgIHBhcnRzMjogc3RyaW5nW10gPSBjb24yTmFtZS50b1VwcGVyQ2FzZSgpLnNwbGl0KCdfJyk7XHJcbiAgICAgICAgaWYgKHBhcnRzMS5sZW5ndGggPj0gMyAmJiBwYXJ0czIubGVuZ3RoID49IDMgJiYgIXNhbWVQYXJlbnQpIHtcclxuICAgICAgICAgICAgY29uc3QgY29ubmVjdGFibGU6IGJvb2xlYW4gPSBwYXJ0czFbMF0gPT09ICdDJyAmJiBwYXJ0czJbMF0gPT09ICdDJyAmJlxyXG4gICAgICAgICAgICAgICAgcGFydHMxWzFdID09PSBwYXJ0czJbMV0gJiYgcGFydHMxWzJdICE9PSBwYXJ0czJbMl07XHJcbiAgICAgICAgICAgIHJldHVybiBjb25uZWN0YWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIFNlbGVjdG9yQ29ubmVjdChzY2VuZTogVEhSRUUuU2NlbmUsIHBhcmVudDogVEhSRUUuT2JqZWN0M0QsIGNvbjE6IFRIUkVFLk9iamVjdDNELCBjb24yOiBUSFJFRS5PYmplY3QzRCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghc2NlbmUgfHwgIXBhcmVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbjFbJ2Nvbm5lY3RlZFRvJ10gPSBjb24yLnBhcmVudC5uYW1lO1xyXG4gICAgICAgIGNvbjJbJ2Nvbm5lY3RlZFRvJ10gPSBjb24xLnBhcmVudC5uYW1lO1xyXG5cclxuICAgICAgICBjb25zdCBtb3RoZXJSb3RhdGlvbjogVEhSRUUuRXVsZXIgPSBuZXcgVEhSRUUuRXVsZXIoMCwgMCwgMCk7XHJcbiAgICAgICAgY29uc3QgbW90aGVyUG9zaXRpb246IFRIUkVFLlZlY3RvcjMgPSBuZXcgVEhSRUUuVmVjdG9yMygwLCAwLCAwKTtcclxuXHJcbiAgICAgICAgc2NlbmUudXBkYXRlTWF0cml4V29ybGQodHJ1ZSk7XHJcbiAgICAgICAgbW90aGVyUm90YXRpb24uY29weShwYXJlbnQucm90YXRpb24pO1xyXG4gICAgICAgIHBhcmVudC5nZXRXb3JsZFBvc2l0aW9uKG1vdGhlclBvc2l0aW9uKTtcclxuXHJcbiAgICAgICAgcGFyZW50LnJvdGF0aW9uLnNldCgwLCAwLCAwKTtcclxuICAgICAgICBwYXJlbnQucG9zaXRpb24uc2V0KDAsIDAsIDApO1xyXG5cclxuICAgICAgICBjb25zdCBjb24xUXVhdDogVEhSRUUuUXVhdGVybmlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XHJcbiAgICAgICAgY29uMS5nZXRXb3JsZFF1YXRlcm5pb24oY29uMVF1YXQpO1xyXG4gICAgICAgIGNvbnN0IGNvbjJRdWF0OiBUSFJFRS5RdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcclxuICAgICAgICBjb24yLmdldFdvcmxkUXVhdGVybmlvbihjb24yUXVhdCk7XHJcbiAgICAgICAgY29uc3QgY29uMVF1YXRQYXJlbnQ6IFRIUkVFLlF1YXRlcm5pb24gPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xyXG4gICAgICAgIGNvbjEucGFyZW50LmdldFdvcmxkUXVhdGVybmlvbihjb24xUXVhdFBhcmVudCk7XHJcbiAgICAgICAgY29uc3QgY29uMlF1YXRQYXJlbnQ6IFRIUkVFLlF1YXRlcm5pb24gPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xyXG4gICAgICAgIGNvbjIucGFyZW50LmdldFdvcmxkUXVhdGVybmlvbihjb24yUXVhdFBhcmVudCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHJvdGF0aW9uOiBUSFJFRS5RdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKS5tdWx0aXBseVF1YXRlcm5pb25zKFxyXG4gICAgICAgICAgICBjb24xUXVhdC5pbnZlcnQoKSxcclxuICAgICAgICAgICAgY29uMlF1YXRcclxuICAgICAgICApLm11bHRpcGx5KFxyXG4gICAgICAgICAgICBuZXcgVEhSRUUuUXVhdGVybmlvbigpLm11bHRpcGx5UXVhdGVybmlvbnMoXHJcbiAgICAgICAgICAgICAgICBjb24xUXVhdFBhcmVudCxcclxuICAgICAgICAgICAgICAgIGNvbjFRdWF0UGFyZW50XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBjb24yLnBhcmVudC5xdWF0ZXJuaW9uLmNvcHkocm90YXRpb24pO1xyXG4gICAgICAgIC8vIFVwZGF0ZSBiZWNhdXNlIHRoZSBtYXRyaXggaGFzIGJlZW4gdGVtcGVyZWQgd2l0aFxyXG4gICAgICAgIHNjZW5lLnVwZGF0ZU1hdHJpeFdvcmxkKHRydWUpO1xyXG5cclxuICAgICAgICAvLyBNb3ZlIHRoZSBjb25uZWN0b3JzIHRvd2FyZHMgZWFjaG90aGVyXHJcbiAgICAgICAgY29uc3QgY29uMVBvczogVEhSRUUuVmVjdG9yMyA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XHJcbiAgICAgICAgY29uMS5nZXRXb3JsZFBvc2l0aW9uKGNvbjFQb3MpO1xyXG4gICAgICAgIGNvbnN0IGNvbjJQb3M6IFRIUkVFLlZlY3RvcjMgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xyXG4gICAgICAgIGNvbjIuZ2V0V29ybGRQb3NpdGlvbihjb24yUG9zKTtcclxuXHJcbiAgICAgICAgY29uc3QgbW92ZTogVEhSRUUuVmVjdG9yMyA9IGNvbjFQb3Muc3ViKGNvbjJQb3MpO1xyXG4gICAgICAgIGNvbjIucGFyZW50LnBvc2l0aW9uLnggKz0gbW92ZS54O1xyXG4gICAgICAgIGNvbjIucGFyZW50LnBvc2l0aW9uLnkgKz0gbW92ZS55O1xyXG4gICAgICAgIGNvbjIucGFyZW50LnBvc2l0aW9uLnogKz0gbW92ZS56O1xyXG5cclxuICAgICAgICAvLyByZXNldCBwYXJlbnQncyBvYmplY3RzIHJvdGF0aW9uIGFuZCBwb3NpdGlvblxyXG4gICAgICAgIHBhcmVudC5yb3RhdGlvbi5jb3B5KG1vdGhlclJvdGF0aW9uKTtcclxuICAgICAgICBwYXJlbnQucG9zaXRpb24uY29weShtb3RoZXJQb3NpdGlvbik7XHJcblxyXG4gICAgICAgIHNjZW5lLnVwZGF0ZU1hdHJpeFdvcmxkKHRydWUpO1xyXG5cclxuICAgICAgICAvLyBTZXQgdGhlIGNvbm5lY3RlZCBmbGFnXHJcbiAgICAgICAgY29uMVsnY29ubmVjdGVkJ10gPSB0cnVlO1xyXG4gICAgICAgIGNvbjJbJ2Nvbm5lY3RlZCddID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -11,7 +11,7 @@ export class ThreedUtils {
|
|
|
11
11
|
objs.forEach(o => ObjectUtils.DisposeObject(o));
|
|
12
12
|
this._objectCache.clear();
|
|
13
13
|
}
|
|
14
|
-
download3DSource(fileName) {
|
|
14
|
+
download3DSource(fileName, assetPath) {
|
|
15
15
|
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
16
16
|
fileName = fileName.replace('.unity3d', '');
|
|
17
17
|
let lookupFileName = fileName + (fileName.indexOf('.glb') < 0 ? '.glb' : '');
|
|
@@ -19,7 +19,7 @@ export class ThreedUtils {
|
|
|
19
19
|
resolve(this._objectCache.get(lookupFileName));
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
|
-
if (yield FileUtils.FileExists(lookupFileName,
|
|
22
|
+
if (yield FileUtils.FileExists(lookupFileName, assetPath)) {
|
|
23
23
|
this.loadGlbSource(lookupFileName).then((obj) => {
|
|
24
24
|
this._objectCache.set(lookupFileName, obj);
|
|
25
25
|
resolve(obj);
|
|
@@ -219,4 +219,4 @@ export class ThreedUtils {
|
|
|
219
219
|
});
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWVkLnV0aWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvbGlqbml0L2NvbmZpZ3VyYXRvci8iLCJzb3VyY2VzIjpbInV0aWxzL3RocmVlZC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFdkMsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFFVSxpQkFBWSxHQUFnQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBb05oRSxDQUFDO0lBbE5RLFVBQVU7UUFDZixNQUFNLElBQUksR0FBcUIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxRQUFnQjtRQUN0QyxPQUFPLElBQUksT0FBTyxDQUFDLENBQU8sT0FBaUIsRUFBRSxNQUFnQixFQUFFLEVBQUU7WUFDL0QsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLElBQUksY0FBYyxHQUFXLFFBQVEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JGLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQ3pDLE9B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ZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFRIUkVFIGZyb20gXCJ0aHJlZVwiO1xuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4vb2JqZWN0LnV0aWxzXCI7XG5pbXBvcnQge0ZpbGVVdGlsc30gZnJvbSBcIi4vZmlsZS51dGlsc1wiO1xuXG5leHBvcnQgY2xhc3MgVGhyZWVkVXRpbHMge1xuXG4gIHByaXZhdGUgX29iamVjdENhY2hlOiBNYXA8c3RyaW5nLCBUSFJFRS5PYmplY3QzRD4gPSBuZXcgTWFwKCk7XG5cbiAgcHVibGljIGNsZWFyQ2FjaGUoKTogdm9pZCB7XG4gICAgY29uc3Qgb2JqczogVEhSRUUuT2JqZWN0M0RbXSA9IEFycmF5LmZyb20odGhpcy5fb2JqZWN0Q2FjaGUudmFsdWVzKCkpO1xuICAgIG9ianMuZm9yRWFjaChvID0+IE9iamVjdFV0aWxzLkRpc3Bvc2VPYmplY3QobykpO1xuICAgIHRoaXMuX29iamVjdENhY2hlLmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWQzRFNvdXJjZShmaWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxUSFJFRS5PYmplY3QzRD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcbiAgICAgIGZpbGVOYW1lID0gZmlsZU5hbWUucmVwbGFjZSgnLnVuaXR5M2QnLCAnJyk7XG4gICAgICBsZXQgbG9va3VwRmlsZU5hbWU6IHN0cmluZyA9IGZpbGVOYW1lICsgKGZpbGVOYW1lLmluZGV4T2YoJy5nbGInKSA8IDAgPyAnLmdsYicgOiAnJyk7XG4gICAgICBpZiAodGhpcy5fb2JqZWN0Q2FjaGUuaGFzKGxvb2t1cEZpbGVOYW1lKSkge1xuICAgICAgICByZXNvbHZlKHRoaXMuX29iamVjdENhY2hlLmdldChsb29rdXBGaWxlTmFtZSkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoYXdhaXQgRmlsZVV0aWxzLkZpbGVFeGlzdHMobG9va3VwRmlsZU5hbWUsICdodHRwczovL2NkbjEuY29saWpuLWl0Lm5sL2NvbnRlbnQ0My8nKSkge1xuICAgICAgICB0aGlzLmxvYWRHbGJTb3VyY2UobG9va3VwRmlsZU5hbWUpLnRoZW4oKG9iajogVEhSRUUuT2JqZWN0M0QpID0+IHtcbiAgICAgICAgICB0aGlzLl9vYmplY3RDYWNoZS5zZXQobG9va3VwRmlsZU5hbWUsIG9iaik7XG4gICAgICAgICAgcmVzb2x2ZShvYmopO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlamVjdChgR0xCIHNvdXJjZSBub3QgZm91bmQhICgke2xvb2t1cEZpbGVOYW1lfSlgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkRmlsZUFzVGV4dChmaWxlOiBGaWxlKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgZmlsZVJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiByZXNvbHZlKGUudGFyZ2V0LnJlc3VsdCk7XG4gICAgICBmaWxlUmVhZGVyLm9uZXJyb3IgPSBlcnJvciA9PiByZWplY3QoZXJyb3IpO1xuICAgICAgZmlsZVJlYWRlci5yZWFkQXNUZXh0KGZpbGUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWRKc29uTW9kZWwoZmlsZVBhdGg6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKHRoaXMuX29iamVjdENhY2hlLmhhcyhmaWxlUGF0aCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fb2JqZWN0Q2FjaGUuZ2V0KGZpbGVQYXRoKSk7XG4gICAgfVxuICAgIGNvbnN0IGpzb246IHN0cmluZyA9IGF3YWl0IHRoaXMuX3JlYWRKc29uRmlsZShmaWxlUGF0aCk7XG4gICAgY29uc3QgbG9hZGVyID0gbmV3IFRIUkVFLk9iamVjdExvYWRlcigpO1xuICAgIGxvYWRlci5jcm9zc09yaWdpbiA9ICdBbm9ueW1vdXMnO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBvYmogPSBsb2FkZXIucGFyc2UoanNvbik7XG4gICAgICAgIHRoaXMuX29iamVjdENhY2hlLnNldChmaWxlUGF0aCwgb2JqKTtcbiAgICAgICAgcmVzb2x2ZShvYmopO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZWplY3QobnVsbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9hZEpzb25PYmplY3RNb2RlbChmaWxlUGF0aDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAodGhpcy5fb2JqZWN0Q2FjaGUuaGFzKGZpbGVQYXRoKSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9vYmplY3RDYWNoZS5nZXQoZmlsZVBhdGgpKTtcbiAgICB9XG4gICAgY29uc3QgbG9hZGVyID0gbmV3IFRIUkVFLk9iamVjdExvYWRlcigpO1xuICAgIGxvYWRlci5zZXRDcm9zc09yaWdpbignQW5vbnltb3VzJyk7XG4gICAgbG9hZGVyLnNldFJlc291cmNlUGF0aCgnJyk7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGxvYWRlci5sb2FkKGZpbGVQYXRoLFxuICAgICAgICAob2JqZWN0OiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBvYmo6IFRIUkVFLk9iamVjdDNEID0gKG9iamVjdC50eXBlID09PSAnU2NlbmUnICYmIG9iamVjdC5jaGlsZHJlblswXS50eXBlID09PSAnT2JqZWN0M0QnKSA/IG9iamVjdC5jaGlsZHJlblswXSA6IG9iamVjdDtcbiAgICAgICAgICB0aGlzLl9vYmplY3RDYWNoZS5zZXQoZmlsZVBhdGgsIG9iaik7XG4gICAgICAgICAgcmVzb2x2ZShvYmogYXMgVEhSRUUuT2JqZWN0M0QpO1xuICAgICAgICB9LFxuICAgICAgICB4aHIgPT4gbnVsbCxcbiAgICAgICAgZXJyb3IgPT4gcmVqZWN0KGVycm9yKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkR2xiTW9kZWwoZmlsZTogc3RyaW5nLCBjbGVhblVwOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8VEhSRUUuT2JqZWN0M0Q+IHtcbiAgICBpZiAodGhpcy5fb2JqZWN0Q2FjaGUuaGFzKGZpbGUpKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX29iamVjdENhY2hlLmdldChmaWxlKSk7XG4gICAgfVxuICAgIGlmICghd2luZG93Lmhhc093blByb3BlcnR5KCdsb2FkR0xURicpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdsb2FkR0xURiBub3QgZGVmaW5lZCBpbiB3aW5kb3cgZ2xvYmFsJyk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgICAvLyBjb25zdCBsb2FkZXIgPSBuZXcgR0xURkxvYWRlcigpO1xuICAgIGNvbnN0IG9iajogVEhSRUUuT2JqZWN0M0QgPSBhd2FpdCAod2luZG93IGFzIGFueSkubG9hZEdMVEYoZmlsZSk7XG4gICAgaWYgKG9iaikge1xuICAgICAgdGhpcy5fY2xlYW5lZFVwT2JqZWN0cyhvYmosIGNsZWFuVXApO1xuICAgICAgdGhpcy5fb2JqZWN0Q2FjaGUuc2V0KGZpbGUsIG9iaik7XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9hZEdsYlNvdXJjZShmaWxlOiBzdHJpbmcpOiBQcm9taXNlPFRIUkVFLk9iamVjdDNEPiB7XG4gICAgY29uc3Qgb2JqID0gYXdhaXQgdGhpcy5sb2FkR2xiTW9kZWwoZmlsZSwgZmFsc2UpO1xuICAgIGlmIChvYmopIHtcbiAgICAgIG9iai5jaGlsZHJlbiA9IG9iai5jaGlsZHJlbi5maWx0ZXIoYyA9PiAhKGMgaW5zdGFuY2VvZiBUSFJFRS5DYW1lcmEpKTtcbiAgICAgIG9iai5jaGlsZHJlbi5zb3J0KChhLCBiKSA9PiBhWyduYW1lJ10gPCBiWyduYW1lJ10gPyAxIDogLTEpO1xuICAgICAgb2JqLmNoaWxkcmVuLmZvckVhY2goKGM6IFRIUkVFLk9iamVjdDNEKSA9PiB7XG4gICAgICAgIGMudHJhdmVyc2UoKHQ6IFRIUkVFLk9iamVjdDNEKSA9PiB7XG4gICAgICAgICAgdC52aXNpYmxlID0gIXQubmFtZS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJ2NfJyk7XG4gICAgICAgIH0pO1xuICAgICAgICBjLnZpc2libGUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgICAgaWYgKG9iai5jaGlsZHJlbi5sZW5ndGggPT09IDEgJiYgb2JqLmNoaWxkcmVuWzBdIGluc3RhbmNlb2YgVEhSRUUuR3JvdXApIHsgLy8gZmxhdHRlbiBjaGlsZHJlblxuICAgICAgICBjb25zdCBjaGlsZHJlbjogYW55ID0gb2JqLmNoaWxkcmVuWzBdLmNoaWxkcmVuLnNsaWNlKCk7XG4gICAgICAgIG9iai5jaGlsZHJlbi5sZW5ndGggPSAwO1xuICAgICAgICBvYmouY2hpbGRyZW4gPSBjaGlsZHJlbjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB0ZXh0dXJlRnJvbVVybCh1cmw6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgLy8gdXJsID0gdGhpcy5faW5jbHVkZUJhc2VVcmwodXJsKTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgdGV4dHVyZUxvYWRlciA9IG5ldyBUSFJFRS5UZXh0dXJlTG9hZGVyKCk7XG4gICAgICAvLyB0ZXh0dXJlTG9hZGVyLnNldEJhc2VVKHRoaXMuX3NldHRpbmdzU2VydmljZS5zZXR0aW5ncy5hc3NldFBhdGgpO1xuICAgICAgdGV4dHVyZUxvYWRlci5sb2FkKHVybCxcbiAgICAgICAgKHRleHR1cmU6IFRIUkVFLlRleHR1cmUpID0+IHtcbiAgICAgICAgICB0ZXh0dXJlLndyYXBUID0gVEhSRUUuUmVwZWF0V3JhcHBpbmc7XG4gICAgICAgICAgdGV4dHVyZS53cmFwUyA9IFRIUkVFLlJlcGVhdFdyYXBwaW5nO1xuICAgICAgICAgIHRleHR1cmUucmVwZWF0LnNldCgxLCAxKTtcbiAgICAgICAgICB0ZXh0dXJlLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm4gcmVzb2x2ZSh0ZXh0dXJlKTtcbiAgICAgICAgfSxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgcmVqZWN0XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2xlYW5lZFVwT2JqZWN0cyhvYmplY3Q6IFRIUkVFLk9iamVjdDNELCBjbGVhblVwOiBib29sZWFuID0gdHJ1ZSk6IFRIUkVFLk9iamVjdDNEIHtcbiAgICBsZXQgb2JqOiBUSFJFRS5PYmplY3QzRCA9IG5ldyBUSFJFRS5PYmplY3QzRCgpO1xuICAgIG9iamVjdC5jaGlsZHJlbi5mb3JFYWNoKChjOiBUSFJFRS5PYmplY3QzRCkgPT4ge1xuICAgICAgaWYgKCEoYyBpbnN0YW5jZW9mIFRIUkVFLkNhbWVyYSkpIHtcbiAgICAgICAgaWYgKGNsZWFuVXAgJiYgYyBpbnN0YW5jZW9mIFRIUkVFLkdyb3VwIHx8IChjLmNoaWxkcmVuLmxlbmd0aCA9PT0gMSAmJiBjLmNoaWxkcmVuWzBdIGluc3RhbmNlb2YgVEhSRUUuR3JvdXApKSB7XG4gICAgICAgICAgdGhpcy5fYWRkR3JvdXBDaGlsZHJlblRvT2JqZWN0KGMsIG9iaik7XG4gICAgICAgIH0gZWxzZSBpZiAoKGNsZWFuVXAgJiYgIShjIGluc3RhbmNlb2YgVEhSRUUuTWVzaCkpIHx8ICghKGMgaW5zdGFuY2VvZiBUSFJFRS5NZXNoKSAmJiAhYy5uYW1lICYmIGMuY2hpbGRyZW4ubGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICBjLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBjaGlsZC50cmFuc2xhdGVZKGMucG9zaXRpb24ueSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYy50cmFuc2xhdGVZKC1jLnBvc2l0aW9uLnkpO1xuICAgICAgICAgIGlmIChvYmouY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgb2JqLmFkZChjLmNsb25lKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvYmogPSBjLmNsb25lKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGlmIChjLnBvc2l0aW9uLnkgPiAwIHx8IGMucG9zaXRpb24ueSA8IDApIHtcbiAgICAgICAgICAvLyAgIGMuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAvLyAgICAgY2hpbGQudHJhbnNsYXRlWShjLnBvc2l0aW9uLnkpO1xuICAgICAgICAgIC8vICAgfSk7XG4gICAgICAgICAgLy8gICBjLnRyYW5zbGF0ZVkoLWMucG9zaXRpb24ueSk7XG4gICAgICAgICAgLy8gfVxuICAgICAgICAgIG9iai5hZGQoYy5jbG9uZSgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGJvdW5kaW5nQm94ID0gbmV3IFRIUkVFLkJveDMoKS5zZXRGcm9tT2JqZWN0KG9iaik7XG4gICAgY29uc3QgYmJDZW50ZXJQaXZvdCA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgYm91bmRpbmdCb3guZ2V0Q2VudGVyKGJiQ2VudGVyUGl2b3QpO1xuICAgIGNvbnN0IGRlbHRhOiBUSFJFRS5WZWN0b3IzID0gbmV3IFRIUkVFLlZlY3RvcjMoKS5hZGQoYmJDZW50ZXJQaXZvdCkubmVnYXRlKCk7XG4gICAgb2JqLmNoaWxkcmVuLmZvckVhY2goKGNjKSA9PiB7XG4gICAgICBjYy5wb3NpdGlvbi5hZGQoZGVsdGEpO1xuICAgIH0pO1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBwcml2YXRlIF9hZGRHcm91cENoaWxkcmVuVG9PYmplY3QoZ3JvdXA6IFRIUkVFLk9iamVjdDNELCBvYmo6IFRIUkVFLk9iamVjdDNELCBjbGVhblVwOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGdyb3VwLmNoaWxkcmVuLmZvckVhY2goKGdjOiBUSFJFRS5PYmplY3QzRCkgPT4ge1xuICAgICAgaWYgKGNsZWFuVXAgJiYgZ2MgaW5zdGFuY2VvZiBUSFJFRS5Hcm91cCkge1xuICAgICAgICB0aGlzLl9hZGRHcm91cENoaWxkcmVuVG9PYmplY3QoZ2MsIG9iaik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBnYy50cmFuc2xhdGVYKC1ncm91cC5wb3NpdGlvbi54KTtcbiAgICAgICAgZ2MudHJhbnNsYXRlWShncm91cC5wb3NpdGlvbi55KTtcbiAgICAgICAgLy8gZ2MudHJhbnNsYXRlWigtZ3JvdXAucG9zaXRpb24ueik7XG4gICAgICAgIG9iai5hZGQoZ2MuY2xvbmUoKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pdGVyYXRlQ2hpbGRyZW4oY2hpbGRyZW46IFRIUkVFLk9iamVjdDNEW10sIGNhbGxiYWNrOiAoY2hpbGQ6IFRIUkVFLk1lc2gpID0+IHt9KTogdm9pZCB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY2hpbGQ6IFRIUkVFLk9iamVjdDNEID0gY2hpbGRyZW5baV07XG4gICAgICBpZiAoY2hpbGQgaW5zdGFuY2VvZiBUSFJFRS5NZXNoKSB7XG4gICAgICAgIGNhbGxiYWNrKGNoaWxkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2l0ZXJhdGVDaGlsZHJlbihjaGlsZC5jaGlsZHJlbiwgY2FsbGJhY2spO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3JlYWRKc29uRmlsZShmaWxlUGF0aDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChmaWxlUGF0aCk7XG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBlbXB0eSA9IGZhbHNlO1xuICAgICAgICBhd2FpdCByZXNwb25zZS5jbG9uZSgpLnRleHQoKS50aGVuKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICAgIGVtcHR5ID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZW1wdHkgPyB7fSA6IHJlc3BvbnNlLmpzb24oKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWVkLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL3RocmVlZC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFdkMsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFFVSxpQkFBWSxHQUFnQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBb05oRSxDQUFDO0lBbE5RLFVBQVU7UUFDZixNQUFNLElBQUksR0FBcUIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxRQUFnQixFQUFFLFNBQWlCO1FBQ3pELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBTyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtZQUMvRCxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUMsSUFBSSxjQUFjLEdBQVcsUUFBUSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckYsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDekMsT0FBTyxD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ZW50IjpbImltcG9ydCAqIGFzIFRIUkVFIGZyb20gXCJ0aHJlZVwiO1xuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4vb2JqZWN0LnV0aWxzXCI7XG5pbXBvcnQge0ZpbGVVdGlsc30gZnJvbSBcIi4vZmlsZS51dGlsc1wiO1xuXG5leHBvcnQgY2xhc3MgVGhyZWVkVXRpbHMge1xuXG4gIHByaXZhdGUgX29iamVjdENhY2hlOiBNYXA8c3RyaW5nLCBUSFJFRS5PYmplY3QzRD4gPSBuZXcgTWFwKCk7XG5cbiAgcHVibGljIGNsZWFyQ2FjaGUoKTogdm9pZCB7XG4gICAgY29uc3Qgb2JqczogVEhSRUUuT2JqZWN0M0RbXSA9IEFycmF5LmZyb20odGhpcy5fb2JqZWN0Q2FjaGUudmFsdWVzKCkpO1xuICAgIG9ianMuZm9yRWFjaChvID0+IE9iamVjdFV0aWxzLkRpc3Bvc2VPYmplY3QobykpO1xuICAgIHRoaXMuX29iamVjdENhY2hlLmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWQzRFNvdXJjZShmaWxlTmFtZTogc3RyaW5nLCBhc3NldFBhdGg6IHN0cmluZyk6IFByb21pc2U8VEhSRUUuT2JqZWN0M0Q+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XG4gICAgICBmaWxlTmFtZSA9IGZpbGVOYW1lLnJlcGxhY2UoJy51bml0eTNkJywgJycpO1xuICAgICAgbGV0IGxvb2t1cEZpbGVOYW1lOiBzdHJpbmcgPSBmaWxlTmFtZSArIChmaWxlTmFtZS5pbmRleE9mKCcuZ2xiJykgPCAwID8gJy5nbGInIDogJycpO1xuICAgICAgaWYgKHRoaXMuX29iamVjdENhY2hlLmhhcyhsb29rdXBGaWxlTmFtZSkpIHtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLl9vYmplY3RDYWNoZS5nZXQobG9va3VwRmlsZU5hbWUpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGF3YWl0IEZpbGVVdGlscy5GaWxlRXhpc3RzKGxvb2t1cEZpbGVOYW1lLCBhc3NldFBhdGgpKSB7XG4gICAgICAgIHRoaXMubG9hZEdsYlNvdXJjZShsb29rdXBGaWxlTmFtZSkudGhlbigob2JqOiBUSFJFRS5PYmplY3QzRCkgPT4ge1xuICAgICAgICAgIHRoaXMuX29iamVjdENhY2hlLnNldChsb29rdXBGaWxlTmFtZSwgb2JqKTtcbiAgICAgICAgICByZXNvbHZlKG9iaik7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVqZWN0KGBHTEIgc291cmNlIG5vdCBmb3VuZCEgKCR7bG9va3VwRmlsZU5hbWV9KWApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlYWRGaWxlQXNUZXh0KGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHJlc29sdmUoZS50YXJnZXQucmVzdWx0KTtcbiAgICAgIGZpbGVSZWFkZXIub25lcnJvciA9IGVycm9yID0+IHJlamVjdChlcnJvcik7XG4gICAgICBmaWxlUmVhZGVyLnJlYWRBc1RleHQoZmlsZSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9hZEpzb25Nb2RlbChmaWxlUGF0aDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAodGhpcy5fb2JqZWN0Q2FjaGUuaGFzKGZpbGVQYXRoKSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9vYmplY3RDYWNoZS5nZXQoZmlsZVBhdGgpKTtcbiAgICB9XG4gICAgY29uc3QganNvbjogc3RyaW5nID0gYXdhaXQgdGhpcy5fcmVhZEpzb25GaWxlKGZpbGVQYXRoKTtcbiAgICBjb25zdCBsb2FkZXIgPSBuZXcgVEhSRUUuT2JqZWN0TG9hZGVyKCk7XG4gICAgbG9hZGVyLmNyb3NzT3JpZ2luID0gJ0Fub255bW91cyc7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IG9iaiA9IGxvYWRlci5wYXJzZShqc29uKTtcbiAgICAgICAgdGhpcy5fb2JqZWN0Q2FjaGUuc2V0KGZpbGVQYXRoLCBvYmopO1xuICAgICAgICByZXNvbHZlKG9iaik7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJlamVjdChudWxsKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkSnNvbk9iamVjdE1vZGVsKGZpbGVQYXRoOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICh0aGlzLl9vYmplY3RDYWNoZS5oYXMoZmlsZVBhdGgpKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX29iamVjdENhY2hlLmdldChmaWxlUGF0aCkpO1xuICAgIH1cbiAgICBjb25zdCBsb2FkZXIgPSBuZXcgVEhSRUUuT2JqZWN0TG9hZGVyKCk7XG4gICAgbG9hZGVyLnNldENyb3NzT3JpZ2luKCdBbm9ueW1vdXMnKTtcbiAgICBsb2FkZXIuc2V0UmVzb3VyY2VQYXRoKCcnKTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbG9hZGVyLmxvYWQoZmlsZVBhdGgsXG4gICAgICAgIChvYmplY3Q6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG9iajogVEhSRUUuT2JqZWN0M0QgPSAob2JqZWN0LnR5cGUgPT09ICdTY2VuZScgJiYgb2JqZWN0LmNoaWxkcmVuWzBdLnR5cGUgPT09ICdPYmplY3QzRCcpID8gb2JqZWN0LmNoaWxkcmVuWzBdIDogb2JqZWN0O1xuICAgICAgICAgIHRoaXMuX29iamVjdENhY2hlLnNldChmaWxlUGF0aCwgb2JqKTtcbiAgICAgICAgICByZXNvbHZlKG9iaiBhcyBUSFJFRS5PYmplY3QzRCk7XG4gICAgICAgIH0sXG4gICAgICAgIHhociA9PiBudWxsLFxuICAgICAgICBlcnJvciA9PiByZWplY3QoZXJyb3IpXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWRHbGJNb2RlbChmaWxlOiBzdHJpbmcsIGNsZWFuVXA6IGJvb2xlYW4gPSB0cnVlKTogUHJvbWlzZTxUSFJFRS5PYmplY3QzRD4ge1xuICAgIGlmICh0aGlzLl9vYmplY3RDYWNoZS5oYXMoZmlsZSkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fb2JqZWN0Q2FjaGUuZ2V0KGZpbGUpKTtcbiAgICB9XG4gICAgaWYgKCF3aW5kb3cuaGFzT3duUHJvcGVydHkoJ2xvYWRHTFRGJykpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2xvYWRHTFRGIG5vdCBkZWZpbmVkIGluIHdpbmRvdyBnbG9iYWwnKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICAgIC8vIGNvbnN0IGxvYWRlciA9IG5ldyBHTFRGTG9hZGVyKCk7XG4gICAgY29uc3Qgb2JqOiBUSFJFRS5PYmplY3QzRCA9IGF3YWl0ICh3aW5kb3cgYXMgYW55KS5sb2FkR0xURihmaWxlKTtcbiAgICBpZiAob2JqKSB7XG4gICAgICB0aGlzLl9jbGVhbmVkVXBPYmplY3RzKG9iaiwgY2xlYW5VcCk7XG4gICAgICB0aGlzLl9vYmplY3RDYWNoZS5zZXQoZmlsZSwgb2JqKTtcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkR2xiU291cmNlKGZpbGU6IHN0cmluZyk6IFByb21pc2U8VEhSRUUuT2JqZWN0M0Q+IHtcbiAgICBjb25zdCBvYmogPSBhd2FpdCB0aGlzLmxvYWRHbGJNb2RlbChmaWxlLCBmYWxzZSk7XG4gICAgaWYgKG9iaikge1xuICAgICAgb2JqLmNoaWxkcmVuID0gb2JqLmNoaWxkcmVuLmZpbHRlcihjID0+ICEoYyBpbnN0YW5jZW9mIFRIUkVFLkNhbWVyYSkpO1xuICAgICAgb2JqLmNoaWxkcmVuLnNvcnQoKGEsIGIpID0+IGFbJ25hbWUnXSA8IGJbJ25hbWUnXSA/IDEgOiAtMSk7XG4gICAgICBvYmouY2hpbGRyZW4uZm9yRWFjaCgoYzogVEhSRUUuT2JqZWN0M0QpID0+IHtcbiAgICAgICAgYy50cmF2ZXJzZSgodDogVEhSRUUuT2JqZWN0M0QpID0+IHtcbiAgICAgICAgICB0LnZpc2libGUgPSAhdC5uYW1lLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnY18nKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgICBpZiAob2JqLmNoaWxkcmVuLmxlbmd0aCA9PT0gMSAmJiBvYmouY2hpbGRyZW5bMF0gaW5zdGFuY2VvZiBUSFJFRS5Hcm91cCkgeyAvLyBmbGF0dGVuIGNoaWxkcmVuXG4gICAgICAgIGNvbnN0IGNoaWxkcmVuOiBhbnkgPSBvYmouY2hpbGRyZW5bMF0uY2hpbGRyZW4uc2xpY2UoKTtcbiAgICAgICAgb2JqLmNoaWxkcmVuLmxlbmd0aCA9IDA7XG4gICAgICAgIG9iai5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHRleHR1cmVGcm9tVXJsKHVybDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICAvLyB1cmwgPSB0aGlzLl9pbmNsdWRlQmFzZVVybCh1cmwpO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCB0ZXh0dXJlTG9hZGVyID0gbmV3IFRIUkVFLlRleHR1cmVMb2FkZXIoKTtcbiAgICAgIC8vIHRleHR1cmVMb2FkZXIuc2V0QmFzZVUodGhpcy5fc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLmFzc2V0UGF0aCk7XG4gICAgICB0ZXh0dXJlTG9hZGVyLmxvYWQodXJsLFxuICAgICAgICAodGV4dHVyZTogVEhSRUUuVGV4dHVyZSkgPT4ge1xuICAgICAgICAgIHRleHR1cmUud3JhcFQgPSBUSFJFRS5SZXBlYXRXcmFwcGluZztcbiAgICAgICAgICB0ZXh0dXJlLndyYXBTID0gVEhSRUUuUmVwZWF0V3JhcHBpbmc7XG4gICAgICAgICAgdGV4dHVyZS5yZXBlYXQuc2V0KDEsIDEpO1xuICAgICAgICAgIHRleHR1cmUubmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKHRleHR1cmUpO1xuICAgICAgICB9LFxuICAgICAgICBudWxsLFxuICAgICAgICByZWplY3RcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jbGVhbmVkVXBPYmplY3RzKG9iamVjdDogVEhSRUUuT2JqZWN0M0QsIGNsZWFuVXA6IGJvb2xlYW4gPSB0cnVlKTogVEhSRUUuT2JqZWN0M0Qge1xuICAgIGxldCBvYmo6IFRIUkVFLk9iamVjdDNEID0gbmV3IFRIUkVFLk9iamVjdDNEKCk7XG4gICAgb2JqZWN0LmNoaWxkcmVuLmZvckVhY2goKGM6IFRIUkVFLk9iamVjdDNEKSA9PiB7XG4gICAgICBpZiAoIShjIGluc3RhbmNlb2YgVEhSRUUuQ2FtZXJhKSkge1xuICAgICAgICBpZiAoY2xlYW5VcCAmJiBjIGluc3RhbmNlb2YgVEhSRUUuR3JvdXAgfHwgKGMuY2hpbGRyZW4ubGVuZ3RoID09PSAxICYmIGMuY2hpbGRyZW5bMF0gaW5zdGFuY2VvZiBUSFJFRS5Hcm91cCkpIHtcbiAgICAgICAgICB0aGlzLl9hZGRHcm91cENoaWxkcmVuVG9PYmplY3QoYywgb2JqKTtcbiAgICAgICAgfSBlbHNlIGlmICgoY2xlYW5VcCAmJiAhKGMgaW5zdGFuY2VvZiBUSFJFRS5NZXNoKSkgfHwgKCEoYyBpbnN0YW5jZW9mIFRIUkVFLk1lc2gpICYmICFjLm5hbWUgJiYgYy5jaGlsZHJlbi5sZW5ndGggPiAwKSkge1xuICAgICAgICAgIGMuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgIGNoaWxkLnRyYW5zbGF0ZVkoYy5wb3NpdGlvbi55KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjLnRyYW5zbGF0ZVkoLWMucG9zaXRpb24ueSk7XG4gICAgICAgICAgaWYgKG9iai5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBvYmouYWRkKGMuY2xvbmUoKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG9iaiA9IGMuY2xvbmUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gaWYgKGMucG9zaXRpb24ueSA+IDAgfHwgYy5wb3NpdGlvbi55IDwgMCkge1xuICAgICAgICAgIC8vICAgYy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgIC8vICAgICBjaGlsZC50cmFuc2xhdGVZKGMucG9zaXRpb24ueSk7XG4gICAgICAgICAgLy8gICB9KTtcbiAgICAgICAgICAvLyAgIGMudHJhbnNsYXRlWSgtYy5wb3NpdGlvbi55KTtcbiAgICAgICAgICAvLyB9XG4gICAgICAgICAgb2JqLmFkZChjLmNsb25lKCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgYm91bmRpbmdCb3ggPSBuZXcgVEhSRUUuQm94MygpLnNldEZyb21PYmplY3Qob2JqKTtcbiAgICBjb25zdCBiYkNlbnRlclBpdm90ID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICBib3VuZGluZ0JveC5nZXRDZW50ZXIoYmJDZW50ZXJQaXZvdCk7XG4gICAgY29uc3QgZGVsdGE6IFRIUkVFLlZlY3RvcjMgPSBuZXcgVEhSRUUuVmVjdG9yMygpLmFkZChiYkNlbnRlclBpdm90KS5uZWdhdGUoKTtcbiAgICBvYmouY2hpbGRyZW4uZm9yRWFjaCgoY2MpID0+IHtcbiAgICAgIGNjLnBvc2l0aW9uLmFkZChkZWx0YSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZEdyb3VwQ2hpbGRyZW5Ub09iamVjdChncm91cDogVEhSRUUuT2JqZWN0M0QsIG9iajogVEhSRUUuT2JqZWN0M0QsIGNsZWFuVXA6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgZ3JvdXAuY2hpbGRyZW4uZm9yRWFjaCgoZ2M6IFRIUkVFLk9iamVjdDNEKSA9PiB7XG4gICAgICBpZiAoY2xlYW5VcCAmJiBnYyBpbnN0YW5jZW9mIFRIUkVFLkdyb3VwKSB7XG4gICAgICAgIHRoaXMuX2FkZEdyb3VwQ2hpbGRyZW5Ub09iamVjdChnYywgb2JqKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGdjLnRyYW5zbGF0ZVgoLWdyb3VwLnBvc2l0aW9uLngpO1xuICAgICAgICBnYy50cmFuc2xhdGVZKGdyb3VwLnBvc2l0aW9uLnkpO1xuICAgICAgICAvLyBnYy50cmFuc2xhdGVaKC1ncm91cC5wb3NpdGlvbi56KTtcbiAgICAgICAgb2JqLmFkZChnYy5jbG9uZSgpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2l0ZXJhdGVDaGlsZHJlbihjaGlsZHJlbjogVEhSRUUuT2JqZWN0M0RbXSwgY2FsbGJhY2s6IChjaGlsZDogVEhSRUUuTWVzaCkgPT4ge30pOiB2b2lkIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjaGlsZDogVEhSRUUuT2JqZWN0M0QgPSBjaGlsZHJlbltpXTtcbiAgICAgIGlmIChjaGlsZCBpbnN0YW5jZW9mIFRIUkVFLk1lc2gpIHtcbiAgICAgICAgY2FsbGJhY2soY2hpbGQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5faXRlcmF0ZUNoaWxkcmVuKGNoaWxkLmNoaWxkcmVuLCBjYWxsYmFjayk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfcmVhZEpzb25GaWxlKGZpbGVQYXRoOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGZpbGVQYXRoKTtcbiAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGVtcHR5ID0gZmFsc2U7XG4gICAgICAgIGF3YWl0IHJlc3BvbnNlLmNsb25lKCkudGV4dCgpLnRoZW4oKHZhbHVlKSA9PiB7XG4gICAgICAgICAgaWYgKHZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgZW1wdHkgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBlbXB0eSA/IHt9IDogcmVzcG9uc2UuanNvbigpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxufVxuIl19
|