angular-three-soba 2.3.2 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/abstractions/lib/catmull-rom-line.d.ts +5 -5
- package/abstractions/lib/edges.d.ts +7 -7
- package/abstractions/lib/grid.d.ts +3 -3
- package/abstractions/lib/text-3d.d.ts +3 -3
- package/esm2022/abstractions/lib/billboard.mjs +3 -3
- package/esm2022/abstractions/lib/catmull-rom-line.mjs +3 -3
- package/esm2022/abstractions/lib/cubic-bezier-line.mjs +3 -3
- package/esm2022/abstractions/lib/edges.mjs +3 -3
- package/esm2022/abstractions/lib/gradient-texture.mjs +3 -3
- package/esm2022/abstractions/lib/grid.mjs +3 -3
- package/esm2022/abstractions/lib/helper.mjs +3 -3
- package/esm2022/abstractions/lib/line.mjs +3 -3
- package/esm2022/abstractions/lib/prism-geometry.mjs +3 -3
- package/esm2022/abstractions/lib/quadratic-bezier-line.mjs +3 -3
- package/esm2022/abstractions/lib/rounded-box.mjs +3 -3
- package/esm2022/abstractions/lib/text-3d.mjs +3 -3
- package/esm2022/abstractions/lib/text.mjs +3 -3
- package/esm2022/cameras/lib/camera-content.mjs +3 -3
- package/esm2022/cameras/lib/cube-camera.mjs +3 -3
- package/esm2022/cameras/lib/orthographic-camera.mjs +3 -3
- package/esm2022/cameras/lib/perspective-camera.mjs +3 -3
- package/esm2022/controls/lib/camera-controls.mjs +3 -3
- package/esm2022/controls/lib/orbit-controls.mjs +3 -3
- package/esm2022/controls/lib/scroll-controls.mjs +9 -9
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-helper.mjs +6 -6
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewcube.mjs +12 -12
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewport.mjs +9 -9
- package/esm2022/gizmos/lib/pivot-controls/axis-arrow.mjs +3 -3
- package/esm2022/gizmos/lib/pivot-controls/axis-rotator.mjs +3 -3
- package/esm2022/gizmos/lib/pivot-controls/pivot-controls.mjs +3 -3
- package/esm2022/gizmos/lib/pivot-controls/plane-slider.mjs +3 -3
- package/esm2022/gizmos/lib/pivot-controls/scaling-sphere.mjs +3 -3
- package/esm2022/gizmos/lib/transform-controls.mjs +3 -3
- package/esm2022/loaders/lib/loader.mjs +3 -3
- package/esm2022/materials/lib/custom-shader-material.mjs +3 -3
- package/esm2022/materials/lib/mesh-distort-material.mjs +3 -3
- package/esm2022/materials/lib/mesh-reflector-material.mjs +3 -3
- package/esm2022/materials/lib/mesh-refraction-material.mjs +3 -3
- package/esm2022/materials/lib/mesh-transmission-material.mjs +4 -4
- package/esm2022/materials/lib/mesh-wobble-material.mjs +3 -3
- package/esm2022/materials/lib/point-material.mjs +3 -3
- package/esm2022/misc/lib/bake-shadows.mjs +3 -3
- package/esm2022/misc/lib/computed-attribute.mjs +3 -3
- package/esm2022/misc/lib/decal.mjs +3 -3
- package/esm2022/misc/lib/fbo.mjs +3 -3
- package/esm2022/misc/lib/html/html-content.mjs +3 -3
- package/esm2022/misc/lib/html/html.mjs +3 -3
- package/esm2022/misc/lib/intersect.mjs +3 -3
- package/esm2022/misc/lib/sampler.mjs +3 -3
- package/esm2022/performances/lib/adaptive-dpr.mjs +3 -3
- package/esm2022/performances/lib/adaptive-events.mjs +3 -3
- package/esm2022/performances/lib/detailed.mjs +3 -3
- package/esm2022/performances/lib/instances/instances.mjs +6 -6
- package/esm2022/performances/lib/points/points.mjs +9 -9
- package/esm2022/performances/lib/segments/segments.mjs +6 -6
- package/esm2022/staging/lib/accumulative-shadows.mjs +3 -3
- package/esm2022/staging/lib/backdrop.mjs +3 -3
- package/esm2022/staging/lib/bb-anchor.mjs +3 -3
- package/esm2022/staging/lib/bounds.mjs +3 -3
- package/esm2022/staging/lib/camera-shake.mjs +3 -3
- package/esm2022/staging/lib/caustics.mjs +3 -3
- package/esm2022/staging/lib/center.mjs +3 -3
- package/esm2022/staging/lib/contact-shadows.mjs +3 -3
- package/esm2022/staging/lib/environment/environment.mjs +15 -15
- package/esm2022/staging/lib/float.mjs +3 -3
- package/esm2022/staging/lib/lightformer.mjs +3 -3
- package/esm2022/staging/lib/mask.mjs +3 -3
- package/esm2022/staging/lib/matcap-texture.mjs +3 -3
- package/esm2022/staging/lib/normal-texture.mjs +3 -3
- package/esm2022/staging/lib/randomized-lights.mjs +3 -3
- package/esm2022/staging/lib/render-texture.mjs +9 -9
- package/esm2022/staging/lib/sky.mjs +3 -3
- package/esm2022/staging/lib/spot-light.mjs +15 -15
- package/esm2022/staging/lib/stage.mjs +6 -6
- package/esm2022/stats/lib/stats.mjs +3 -3
- package/fesm2022/angular-three-soba-abstractions.mjs +39 -39
- package/fesm2022/angular-three-soba-cameras.mjs +12 -12
- package/fesm2022/angular-three-soba-controls.mjs +15 -15
- package/fesm2022/angular-three-soba-gizmos.mjs +45 -45
- package/fesm2022/angular-three-soba-loaders.mjs +3 -3
- package/fesm2022/angular-three-soba-materials.mjs +21 -21
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +24 -24
- package/fesm2022/angular-three-soba-performances.mjs +30 -30
- package/fesm2022/angular-three-soba-staging.mjs +90 -90
- package/fesm2022/angular-three-soba-stats.mjs +3 -3
- package/materials/lib/custom-shader-material.d.ts +2 -2
- package/materials/lib/mesh-transmission-material.d.ts +2 -3
- package/misc/lib/computed-attribute.d.ts +0 -4
- package/package.json +8 -8
- package/staging/lib/center.d.ts +4 -4
- package/staging/lib/lightformer.d.ts +3 -3
- package/staging/lib/stage.d.ts +3 -3
|
@@ -249,14 +249,14 @@ export class NgtsMeshReflectorMaterial {
|
|
|
249
249
|
projectionMatrix.elements[10] = this.clipPlane.z + 1.0;
|
|
250
250
|
projectionMatrix.elements[14] = this.clipPlane.w;
|
|
251
251
|
}
|
|
252
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
253
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
252
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsMeshReflectorMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
253
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.6", type: NgtsMeshReflectorMaterial, isStandalone: true, selector: "ngts-mesh-reflector-material", inputs: { attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "materialRef", first: true, predicate: ["material"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
254
254
|
<ngt-primitive #material *args="[material()]" [attach]="attach()">
|
|
255
255
|
<ng-content />
|
|
256
256
|
</ngt-primitive>
|
|
257
257
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
258
258
|
}
|
|
259
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
259
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsMeshReflectorMaterial, decorators: [{
|
|
260
260
|
type: Component,
|
|
261
261
|
args: [{
|
|
262
262
|
selector: 'ngts-mesh-reflector-material',
|
|
@@ -97,8 +97,8 @@ export class NgtsMeshRefractionMaterial {
|
|
|
97
97
|
}
|
|
98
98
|
});
|
|
99
99
|
}
|
|
100
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
101
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsMeshRefractionMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
101
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.6", type: NgtsMeshRefractionMaterial, isStandalone: true, selector: "ngts-mesh-refraction-material", inputs: { envMap: { classPropertyName: "envMap", publicName: "envMap", isSignal: true, isRequired: true, transformFunction: null }, attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "materialRef", first: true, predicate: ["material"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
102
102
|
<ngt-primitive
|
|
103
103
|
*args="[material()]"
|
|
104
104
|
#material
|
|
@@ -113,7 +113,7 @@ export class NgtsMeshRefractionMaterial {
|
|
|
113
113
|
</ngt-primitive>
|
|
114
114
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
115
115
|
}
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsMeshRefractionMaterial, decorators: [{
|
|
117
117
|
type: Component,
|
|
118
118
|
args: [{
|
|
119
119
|
selector: 'ngts-mesh-refraction-material',
|
|
@@ -141,8 +141,8 @@ export class NgtsMeshTransmissionMaterial {
|
|
|
141
141
|
}
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
145
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
144
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsMeshTransmissionMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
145
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.6", type: NgtsMeshTransmissionMaterial, isStandalone: true, selector: "ngts-mesh-transmission-material", inputs: { attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "materialRef", first: true, predicate: ["material"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
146
146
|
<ngt-primitive
|
|
147
147
|
*args="[material()]"
|
|
148
148
|
#material
|
|
@@ -159,7 +159,7 @@ export class NgtsMeshTransmissionMaterial {
|
|
|
159
159
|
</ngt-primitive>
|
|
160
160
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
161
161
|
}
|
|
162
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
162
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsMeshTransmissionMaterial, decorators: [{
|
|
163
163
|
type: Component,
|
|
164
164
|
args: [{
|
|
165
165
|
selector: 'ngts-mesh-transmission-material',
|
|
@@ -185,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
185
185
|
imports: [NgtArgs],
|
|
186
186
|
}]
|
|
187
187
|
}], ctorParameters: () => [] });
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC10cmFuc21pc3Npb24tbWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWF0ZXJpYWxzL3NyYy9saWIvbWVzaC10cmFuc21pc3Npb24tbWF0ZXJpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLHNCQUFzQixFQUN0QixVQUFVLEVBRVYsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTixhQUFhLEVBQ2Isa0JBQWtCLEVBRWxCLE9BQU8sRUFHUCxJQUFJLEVBQ0osSUFBSSxHQUNKLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBUyxTQUFTLEVBQVEsYUFBYSxFQUF3QixNQUFNLE9BQU8sQ0FBQzs7QUE0QjlGLE1BQU0sY0FBYyxHQUF3QztJQUMzRCxtQkFBbUIsRUFBRSxLQUFLO0lBQzFCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsSUFBSSxFQUFFLFNBQVM7SUFDZixZQUFZLEVBQUUsQ0FBQztJQUNmLFNBQVMsRUFBRSxDQUFDO0lBQ1osaUJBQWlCLEVBQUUsQ0FBQztJQUNwQix1QkFBdUIsRUFBRSxDQUFDO0lBQzFCLE9BQU8sRUFBRSxFQUFFO0NBQ1gsQ0FBQztBQXlCRixNQUFNLE9BQU8sNEJBQTRCO0lBNkR4QztRQTVEQSxXQUFNLEdBQUcsS0FBSyxDQUFnQixVQUFVLENBQUMsQ0FBQztRQUMxQyxZQUFPLEdBQUcsS0FBSyxDQUFDLGNB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RUFlVCw0REFHUyxPQUFPOzsyRkFFTCw0QkFBNEI7a0JBdkJ4QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztFQWVUO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHREZXN0cm95UmVmLFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHR1bnRyYWNrZWQsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuXHRnZXRMb2NhbFN0YXRlLFxuXHRpbmplY3RCZWZvcmVSZW5kZXIsXG5cdE5ndEFueVJlY29yZCxcblx0Tmd0QXJncyxcblx0Tmd0QXR0YWNoYWJsZSxcblx0Tmd0TWVzaFBoeXNpY2FsTWF0ZXJpYWwsXG5cdG9taXQsXG5cdHBpY2ssXG59IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgaW5qZWN0RkJPIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL21pc2MnO1xuaW1wb3J0IHsgTWVzaERpc2NhcmRNYXRlcmlhbCwgTWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL3ZhbmlsbGEtZXhwb3J0cyc7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQgeyBCYWNrU2lkZSwgQ29sb3IsIEZyb250U2lkZSwgTWVzaCwgTm9Ub25lTWFwcGluZywgVGV4dHVyZSwgVG9uZU1hcHBpbmcgfSBmcm9tICd0aHJlZSc7XG5cbnR5cGUgTWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsT3B0aW9ucyA9IENvbnN0cnVjdG9yUGFyYW1ldGVyczx0eXBlb2YgTWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsPlswXTtcblxuZXhwb3J0IHR5cGUgTmd0c01lc2hUcmFuc21pc3Npb25NYXRlcmlhbE9wdGlvbnMgPSBQYXJ0aWFsPE5ndE1lc2hQaHlzaWNhbE1hdGVyaWFsPiAmXG5cdE9taXQ8TWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsT3B0aW9ucywgJ2J1ZmZlcicgfCAnYW5pc290cm9waWNCbHVyJz4gJiB7XG5cdFx0YW5pc290cm9waWNCbHVyPzogbnVtYmVyO1xuXHRcdGJ1ZmZlcj86IFRleHR1cmU7XG5cdFx0LyoqIHRyYW5zbWlzc2lvblNhbXBsZXIsIHlvdSBjYW4gdXNlIHRoZSB0aHJlZWpzIHRyYW5zbWlzc2lvbiBzYW1wbGVyIHRleHR1cmUgdGhhdCBpc1xuXHRcdCAqICBnZW5lcmF0ZWQgb25jZSBmb3IgYWxsIHRyYW5zbWlzc2l2ZSBtYXRlcmlhbHMuIFRoZSB1cHNpZGUgaXMgdGhhdCBpdCBjYW4gYmUgZmFzdGVyIGlmIHlvdVxuXHRcdCAqICB1c2UgbXVsdGlwbGUgTWVzaFBoeXNpY2FsIGFuZCBUcmFuc21pc3Npb24gbWF0ZXJpYWxzLCB0aGUgZG93bnNpZGUgaXMgdGhhdCB0cmFuc21pc3NpdmUgbWF0ZXJpYWxzXG5cdFx0ICogIHVzaW5nIHRoaXMgY2FuJ3Qgc2VlIG90aGVyIHRyYW5zcGFyZW50IG9yIHRyYW5zbWlzc2l2ZSBvYmplY3RzLCBkZWZhdWx0OiBmYWxzZSAqL1xuXHRcdHRyYW5zbWlzc2lvblNhbXBsZXI6IGJvb2xlYW47XG5cdFx0LyoqIFJlbmRlciB0aGUgYmFja3NpZGUgb2YgdGhlIG1hdGVyaWFsIChtb3JlIGNvc3QsIGJldHRlciByZXN1bHRzKSwgZGVmYXVsdDogZmFsc2UgKi9cblx0XHRiYWNrc2lkZTogYm9vbGVhbjtcblx0XHQvKiogQmFja3NpZGUgdGhpY2tuZXNzICh3aGVuIGJhY2tzaWRlIGlzIHRydWUpLCBkZWZhdWx0OiAwICovXG5cdFx0YmFja3NpZGVUaGlja25lc3M6IG51bWJlcjtcblx0XHRiYWNrc2lkZUVudk1hcEludGVuc2l0eTogbnVtYmVyO1xuXHRcdC8qKiBSZXNvbHV0aW9uIG9mIHRoZSBsb2NhbCBidWZmZXIsIGRlZmF1bHQ6IHVuZGVmaW5lZCAoZnVsbHNjcmVlbikgKi9cblx0XHRyZXNvbHV0aW9uPzogbnVtYmVyO1xuXHRcdC8qKiBSZXNvbHV0aW9uIG9mIHRoZSBsb2NhbCBidWZmZXIgZm9yIGJhY2tmYWNlcywgZGVmYXVsdDogdW5kZWZpbmVkIChmdWxsc2NyZWVuKSAqL1xuXHRcdGJhY2tzaWRlUmVzb2x1dGlvbj86IG51bWJlcjtcblx0XHQvKiogUmVmcmFjdGlvbiBzYW1wbGVzLCBkZWZhdWx0OiA2ICovXG5cdFx0c2FtcGxlczogbnVtYmVyO1xuXHRcdC8qKiBCdWZmZXIgc2NlbmUgYmFja2dyb3VuZCAoY2FuIGJlIGEgdGV4dHVyZSwgYSBjdWJldGV4dHVyZSBvciBhIGNvbG9yKSwgZGVmYXVsdDogbnVsbCAqL1xuXHRcdGJhY2tncm91bmQ/OiBUZXh0dXJlIHwgQ29sb3I7XG5cdH07XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBOZ3RzTWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsT3B0aW9ucyA9IHtcblx0dHJhbnNtaXNzaW9uU2FtcGxlcjogZmFsc2UsXG5cdGJhY2tzaWRlOiBmYWxzZSxcblx0c2lkZTogRnJvbnRTaWRlLFxuXHR0cmFuc21pc3Npb246IDEsXG5cdHRoaWNrbmVzczogMCxcblx0YmFja3NpZGVUaGlja25lc3M6IDAsXG5cdGJhY2tzaWRlRW52TWFwSW50ZW5zaXR5OiAxLFxuXHRzYW1wbGVzOiAxMCxcbn07XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtbWVzaC10cmFuc21pc3Npb24tbWF0ZXJpYWwnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtcHJpbWl0aXZlXG5cdFx0XHQqYXJncz1cIlttYXRlcmlhbCgpXVwiXG5cdFx0XHQjbWF0ZXJpYWxcblx0XHRcdFthdHRhY2hdPVwiYXR0YWNoKClcIlxuXHRcdFx0W3BhcmFtZXRlcnNdPVwicGFyYW1ldGVycygpXCJcblx0XHRcdFtfdHJhbnNtaXNzaW9uXT1cInRyYW5zbWlzc2lvbigpXCJcblx0XHRcdFt0cmFuc21pc3Npb25dPVwidHJhbnNtaXNzaW9uU2FtcGxlcigpID8gdHJhbnNtaXNzaW9uKCkgOiAwXCJcblx0XHRcdFtidWZmZXJdPVwiYnVmZmVyVGV4dHVyZSgpXCJcblx0XHRcdFthbmlzb3Ryb3BpY0JsdXJdPVwiYW5pc290cm9waWNCbHVyT3B0aW9uKClcIlxuXHRcdFx0W3NpZGVdPVwic2lkZSgpXCJcblx0XHRcdFt0aGlja25lc3NdPVwidGhpY2tuZXNzKClcIlxuXHRcdD5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3QtcHJpbWl0aXZlPlxuXHRgLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbTmd0QXJnc10sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNNZXNoVHJhbnNtaXNzaW9uTWF0ZXJpYWwge1xuXHRhdHRhY2ggPSBpbnB1dDxOZ3RBdHRhY2hhYmxlPignbWF0ZXJpYWwnKTtcblx0b3B0aW9ucyA9IGlucHV0KGRlZmF1bHRPcHRpb25zLCB7IHRyYW5zZm9ybTogbWVyZ2VJbnB1dHMoZGVmYXVsdE9wdGlvbnMpIH0pO1xuXHRwYXJhbWV0ZXJzID0gb21pdCh0aGlzLm9wdGlvbnMsIFtcblx0XHQnYnVmZmVyJyxcblx0XHQndHJhbnNtaXNzaW9uU2FtcGxlcicsXG5cdFx0J2JhY2tzaWRlJyxcblx0XHQnc2lkZScsXG5cdFx0J3RyYW5zbWlzc2lvbicsXG5cdFx0J3RoaWNrbmVzcycsXG5cdFx0J2JhY2tzaWRlVGhpY2tuZXNzJyxcblx0XHQnYmFja3NpZGVFbnZNYXBJbnRlbnNpdHknLFxuXHRcdCdzYW1wbGVzJyxcblx0XHQncmVzb2x1dGlvbicsXG5cdFx0J2JhY2tzaWRlUmVzb2x1dGlvbicsXG5cdFx0J2JhY2tncm91bmQnLFxuXHRcdCdhbmlzb3Ryb3B5Jyxcblx0XHQnYW5pc290cm9waWNCbHVyJyxcblx0XSk7XG5cblx0cHJpdmF0ZSByZXNvbHV0aW9uID0gcGljayh0aGlzLm9wdGlvbnMsICdyZXNvbHV0aW9uJyk7XG5cdHByaXZhdGUgYmFja3NpZGVSZXNvbHV0aW9uID0gcGljayh0aGlzLm9wdGlvbnMsICdiYWNrc2lkZVJlc29sdXRpb24nKTtcblx0cHJpdmF0ZSBzYW1wbGVzID0gcGljayh0aGlzLm9wdGlvbnMsICdzYW1wbGVzJyk7XG5cdHByaXZhdGUgYnVmZmVyID0gcGljayh0aGlzLm9wdGlvbnMsICdidWZmZXInKTtcblx0cHJpdmF0ZSBhbmlzb3Ryb3B5ID0gcGljayh0aGlzLm9wdGlvbnMsICdhbmlzb3Ryb3B5Jyk7XG5cdHByaXZhdGUgYW5pc290cm9waWNCbHVyID0gcGljayh0aGlzLm9wdGlvbnMsICdhbmlzb3Ryb3BpY0JsdXInKTtcblx0cHJpdmF0ZSBiYWNrZ3JvdW5kID0gcGljayh0aGlzLm9wdGlvbnMsICdiYWNrZ3JvdW5kJyk7XG5cdHByaXZhdGUgYmFja3NpZGUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2JhY2tzaWRlJyk7XG5cdHByaXZhdGUgYmFja3NpZGVUaGlja25lc3MgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2JhY2tzaWRlVGhpY2tuZXNzJyk7XG5cdHByaXZhdGUgYmFja3NpZGVFbnZNYXBJbnRlbnNpdHkgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2JhY2tzaWRlRW52TWFwSW50ZW5zaXR5Jyk7XG5cblx0dHJhbnNtaXNzaW9uU2FtcGxlciA9IHBpY2sodGhpcy5vcHRpb25zLCAndHJhbnNtaXNzaW9uU2FtcGxlcicpO1xuXHR0cmFuc21pc3Npb24gPSBwaWNrKHRoaXMub3B0aW9ucywgJ3RyYW5zbWlzc2lvbicpO1xuXHR0aGlja25lc3MgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3RoaWNrbmVzcycpO1xuXHRzaWRlID0gcGljayh0aGlzLm9wdGlvbnMsICdzaWRlJyk7XG5cblx0bWF0ZXJpYWxSZWYgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxNZXNoVHJhbnNtaXNzaW9uTWF0ZXJpYWwgJiBNZXNoVHJhbnNtaXNzaW9uTWF0ZXJpYWxPcHRpb25zPj4oJ21hdGVyaWFsJyk7XG5cblx0cHJpdmF0ZSBiYWNrUmVzb2x1dGlvbiA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYmFja3NpZGVSZXNvbHV0aW9uKCkgfHwgdGhpcy5yZXNvbHV0aW9uKCkpO1xuXG5cdHByaXZhdGUgZmJvQmFjayA9IGluamVjdEZCTygoKSA9PiAoeyB3aWR0aDogdGhpcy5iYWNrUmVzb2x1dGlvbigpIH0pKTtcblx0cHJpdmF0ZSBmYm9NYWluID0gaW5qZWN0RkJPKCgpID0+ICh7IHdpZHRoOiB0aGlzLnJlc29sdXRpb24oKSB9KSk7XG5cblx0YnVmZmVyVGV4dHVyZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYnVmZmVyKCkgfHwgdGhpcy5mYm9NYWluKCkudGV4dHVyZSk7XG5cdGFuaXNvdHJvcGljQmx1ck9wdGlvbiA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYW5pc290cm9waWNCbHVyKCkgfHwgdGhpcy5hbmlzb3Ryb3B5KCkpO1xuXG5cdHByaXZhdGUgZGlzY2FyZE1hdGVyaWFsID0gbmV3IE1lc2hEaXNjYXJkTWF0ZXJpYWwoKTtcblxuXHRtYXRlcmlhbCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBwcmV2aW91c01hdGVyaWFsID0gdW50cmFja2VkKHRoaXMubWF0ZXJpYWxSZWYpPy5uYXRpdmVFbGVtZW50O1xuXG5cdFx0aWYgKHByZXZpb3VzTWF0ZXJpYWwpIHtcblx0XHRcdHByZXZpb3VzTWF0ZXJpYWwuZGlzcG9zZSgpO1xuXHRcdFx0ZGVsZXRlIChwcmV2aW91c01hdGVyaWFsIGFzIE5ndEFueVJlY29yZClbJ19fbmd0X18nXTtcblx0XHRcdGRlbGV0ZSAocHJldmlvdXNNYXRlcmlhbCBhcyBOZ3RBbnlSZWNvcmQpWydfX25ndF9yZW5kZXJlcl9fJ107XG5cdFx0fVxuXG5cdFx0Y29uc3QgW3NhbXBsZXMsIHRyYW5zbWlzc2lvblNhbXBsZXJdID0gW3RoaXMuc2FtcGxlcygpLCB0aGlzLnRyYW5zbWlzc2lvblNhbXBsZXIoKV07XG5cdFx0cmV0dXJuIG5ldyBNZXNoVHJhbnNtaXNzaW9uTWF0ZXJpYWwoeyBzYW1wbGVzLCB0cmFuc21pc3Npb25TYW1wbGVyIH0pO1xuXHR9KTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRpbmplY3QoRGVzdHJveVJlZikub25EZXN0cm95KCgpID0+IHtcblx0XHRcdGNvbnN0IG1hdGVyaWFsID0gdGhpcy5tYXRlcmlhbFJlZigpPy5uYXRpdmVFbGVtZW50O1xuXHRcdFx0aWYgKG1hdGVyaWFsKSB7XG5cdFx0XHRcdG1hdGVyaWFsLmRpc3Bvc2UoKTtcblx0XHRcdFx0ZGVsZXRlIChtYXRlcmlhbCBhcyBOZ3RBbnlSZWNvcmQpWydfX25ndF9fJ107XG5cdFx0XHRcdGRlbGV0ZSAobWF0ZXJpYWwgYXMgTmd0QW55UmVjb3JkKVsnX19uZ3RfcmVuZGVyZXJfXyddO1xuXHRcdFx0fVxuXHRcdH0pO1xuXG5cdFx0bGV0IG9sZEJnOiBUZXh0dXJlIHwgQ29sb3IgfCBudWxsO1xuXHRcdGxldCBvbGRFbnZNYXBJbnRlbnNpdHk6IG51bWJlciB8IHVuZGVmaW5lZDtcblx0XHRsZXQgb2xkVG9uZTogVG9uZU1hcHBpbmcgfCB1bmRlZmluZWQ7XG5cdFx0bGV0IHBhcmVudDogTWVzaCB8IHVuZGVmaW5lZDtcblx0XHRpbmplY3RCZWZvcmVSZW5kZXIoKHsgY2xvY2ssIGdsLCBzY2VuZSwgY2FtZXJhIH0pID0+IHtcblx0XHRcdGNvbnN0IG1hdGVyaWFsID0gdGhpcy5tYXRlcmlhbFJlZigpPy5uYXRpdmVFbGVtZW50O1xuXHRcdFx0aWYgKCFtYXRlcmlhbCkgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCBbXG5cdFx0XHRcdGZib01haW4sXG5cdFx0XHRcdGZib0JhY2ssXG5cdFx0XHRcdHRyYW5zbWlzc2lvblNhbXBsZXIsXG5cdFx0XHRcdGJhY2tncm91bmQsXG5cdFx0XHRcdGJhY2tzaWRlLFxuXHRcdFx0XHRiYWNrc2lkZVRoaWNrbmVzcyxcblx0XHRcdFx0YmFja3NpZGVFbnZNYXBJbnRlbnNpdHksXG5cdFx0XHRcdHRoaWNrbmVzcyxcblx0XHRcdFx0c2lkZSxcblx0XHRcdF0gPSBbXG5cdFx0XHRcdHRoaXMuZmJvTWFpbigpLFxuXHRcdFx0XHR0aGlzLmZib0JhY2soKSxcblx0XHRcdFx0dGhpcy50cmFuc21pc3Npb25TYW1wbGVyKCksXG5cdFx0XHRcdHRoaXMuYmFja2dyb3VuZCgpLFxuXHRcdFx0XHR0aGlzLmJhY2tzaWRlKCksXG5cdFx0XHRcdHRoaXMuYmFja3NpZGVUaGlja25lc3MoKSxcblx0XHRcdFx0dGhpcy5iYWNrc2lkZUVudk1hcEludGVuc2l0eSgpLFxuXHRcdFx0XHR0aGlzLnRoaWNrbmVzcygpLFxuXHRcdFx0XHR0aGlzLnNpZGUoKSxcblx0XHRcdF07XG5cblx0XHRcdG1hdGVyaWFsLnRpbWUgPSBjbG9jay5nZXRFbGFwc2VkVGltZSgpO1xuXHRcdFx0Ly8gUmVuZGVyIG9ubHkgaWYgdGhlIGJ1ZmZlciBtYXRjaGVzIHRoZSBidWlsdC1pbiBhbmQgbm8gdHJhbnNtaXNzaW9uIHNhbXBsZXIgaXMgc2V0XG5cdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIC0gd2Uga25vdyBtYXRlcmlhbC5idWZmZXIgaXMgbm90IGp1c3QgdW5kZWZpbmVkIHwgbnVsbFxuXHRcdFx0aWYgKG1hdGVyaWFsLmJ1ZmZlciA9PT0gZmJvTWFpbi50ZXh0dXJlICYmICF0cmFuc21pc3Npb25TYW1wbGVyKSB7XG5cdFx0XHRcdHBhcmVudCA9IGdldExvY2FsU3RhdGUobWF0ZXJpYWwpPy5wYXJlbnQoKSBhcyBNZXNoO1xuXG5cdFx0XHRcdGlmIChwYXJlbnQpIHtcblx0XHRcdFx0XHQvLyBTYXZlIGRlZmF1bHRzXG5cdFx0XHRcdFx0b2xkVG9uZSA9IGdsLnRvbmVNYXBwaW5nO1xuXHRcdFx0XHRcdG9sZEJnID0gc2NlbmUuYmFja2dyb3VuZDtcblx0XHRcdFx0XHRvbGRFbnZNYXBJbnRlbnNpdHkgPSBtYXRlcmlhbC5lbnZNYXBJbnRlbnNpdHk7XG5cblx0XHRcdFx0XHQvLyBTd2l0Y2ggb2ZmIHRvbmVtYXBwaW5nIGxlc3QgaXQgZG91YmxlIHRvbmUgbWFwc1xuXHRcdFx0XHRcdC8vIFNhdmUgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBhbmQgc2V0IHRoZSBIRFIgYXMgdGhlIG5ldyBCR1xuXHRcdFx0XHRcdC8vIFVzZSBkaXNjYXJkbWF0ZXJpYWwsIHRoZSBwYXJlbnQgd2lsbCBiZSBpbnZpc2libGUsIGJ1dCBpdCdzIHNoYWRvd3Mgd2lsbCBzdGlsbCBiZSBjYXN0XG5cdFx0XHRcdFx0Z2wudG9uZU1hcHBpbmcgPSBOb1RvbmVNYXBwaW5nO1xuXHRcdFx0XHRcdGlmIChiYWNrZ3JvdW5kKSBzY2VuZS5iYWNrZ3JvdW5kID0gYmFja2dyb3VuZDtcblx0XHRcdFx0XHRwYXJlbnQubWF0ZXJpYWwgPSB0aGlzLmRpc2NhcmRNYXRlcmlhbDtcblxuXHRcdFx0XHRcdGlmIChiYWNrc2lkZSkge1xuXHRcdFx0XHRcdFx0Ly8gUmVuZGVyIGludG8gdGhlIGJhY2tzaWRlIGJ1ZmZlclxuXHRcdFx0XHRcdFx0Z2wuc2V0UmVuZGVyVGFyZ2V0KGZib0JhY2spO1xuXHRcdFx0XHRcdFx0Z2wucmVuZGVyKHNjZW5lLCBjYW1lcmEpO1xuXHRcdFx0XHRcdFx0Ly8gQW5kIG5vdyBwcmVwYXJlIHRoZSBtYXRlcmlhbCBmb3IgdGhlIG1haW4gcmVuZGVyIHVzaW5nIHRoZSBiYWNrc2lkZSBidWZmZXJcblx0XHRcdFx0XHRcdHBhcmVudC5tYXRlcmlhbCA9IG1hdGVyaWFsO1xuXHRcdFx0XHRcdFx0T2JqZWN0LmFzc2lnbihwYXJlbnQubWF0ZXJpYWwsIHtcblx0XHRcdFx0XHRcdFx0YnVmZmVyOiBmYm9CYWNrLnRleHR1cmUsXG5cdFx0XHRcdFx0XHRcdHRoaWNrbmVzczogYmFja3NpZGVUaGlja25lc3MsXG5cdFx0XHRcdFx0XHRcdHNpZGU6IEJhY2tTaWRlLFxuXHRcdFx0XHRcdFx0XHRlbnZNYXBJbnRlbnNpdHk6IGJhY2tzaWRlRW52TWFwSW50ZW5zaXR5LFxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gUmVuZGVyIGludG8gdGhlIG1haW4gYnVmZmVyXG5cdFx0XHRcdFx0Z2wuc2V0UmVuZGVyVGFyZ2V0KGZib01haW4pO1xuXHRcdFx0XHRcdGdsLnJlbmRlcihzY2VuZSwgY2FtZXJhKTtcblxuXHRcdFx0XHRcdHBhcmVudC5tYXRlcmlhbCA9IG1hdGVyaWFsO1xuXHRcdFx0XHRcdE9iamVjdC5hc3NpZ24ocGFyZW50Lm1hdGVyaWFsLCB7XG5cdFx0XHRcdFx0XHRidWZmZXI6IGZib01haW4udGV4dHVyZSxcblx0XHRcdFx0XHRcdHRoaWNrbmVzcyxcblx0XHRcdFx0XHRcdHNpZGUsXG5cdFx0XHRcdFx0XHRlbnZNYXBJbnRlbnNpdHk6IG9sZEVudk1hcEludGVuc2l0eSxcblx0XHRcdFx0XHR9KTtcblxuXHRcdFx0XHRcdC8vIFNldCBvbGQgc3RhdGUgYmFja1xuXHRcdFx0XHRcdHNjZW5lLmJhY2tncm91bmQgPSBvbGRCZztcblx0XHRcdFx0XHRnbC5zZXRSZW5kZXJUYXJnZXQobnVsbCk7XG5cdFx0XHRcdFx0Z2wudG9uZU1hcHBpbmcgPSBvbGRUb25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC10cmFuc21pc3Npb24tbWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWF0ZXJpYWxzL3NyYy9saWIvbWVzaC10cmFuc21pc3Npb24tbWF0ZXJpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLHNCQUFzQixFQUN0QixVQUFVLEVBRVYsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTixhQUFhLEVBQ2Isa0JBQWtCLEVBRWxCLE9BQU8sRUFHUCxJQUFJLEVBQ0osSUFBSSxHQUNKLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBUyxTQUFTLEVBQVEsYUFBYSxFQUF3QixNQUFNLE9BQU8sQ0FBQzs7QUE0QjlGLE1BQU0sY0FBYyxHQUF3QztJQUMzRCxtQkFBbUIsRUFBRSxLQUFLO0lBQzFCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsSUFBSSxFQUFFLFNBQVM7SUFDZixZQUFZLEVBQUUsQ0FBQztJQUNmLFNBQVMsRUFBRSxDQUFDO0lBQ1osaUJBQWlCLEVBQUUsQ0FBQztJQUNwQix1QkFBdUIsRUFBRSxDQUFDO0lBQzFCLE9BQU8sRUFBRSxFQUFFO0NBQ1gsQ0FBQztBQXlCRixNQUFNLE9BQU8sNEJBQTRCO0lBNkR4QztRQTVEQSxXQUFNLEdBQUcsS0FBSyxDQUFnQixVQUFVLENBQUMsQ0FBQztRQUMxQyxZQUFPLEdBQUcsS0FBSyxDQUFDLGNB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RUFlVCw0REFHUyxPQUFPOzsyRkFFTCw0QkFBNEI7a0JBdkJ4QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztFQWVUO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHREZXN0cm95UmVmLFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHR1bnRyYWNrZWQsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuXHRnZXRMb2NhbFN0YXRlLFxuXHRpbmplY3RCZWZvcmVSZW5kZXIsXG5cdE5ndEFueVJlY29yZCxcblx0Tmd0QXJncyxcblx0Tmd0QXR0YWNoYWJsZSxcblx0Tmd0TWVzaFBoeXNpY2FsTWF0ZXJpYWwsXG5cdG9taXQsXG5cdHBpY2ssXG59IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgaW5qZWN0RkJPIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL21pc2MnO1xuaW1wb3J0IHsgTWVzaERpc2NhcmRNYXRlcmlhbCwgTWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL3ZhbmlsbGEtZXhwb3J0cyc7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQgeyBCYWNrU2lkZSwgQ29sb3IsIEZyb250U2lkZSwgTWVzaCwgTm9Ub25lTWFwcGluZywgVGV4dHVyZSwgVG9uZU1hcHBpbmcgfSBmcm9tICd0aHJlZSc7XG5cbmV4cG9ydCB0eXBlIE1lc2hUcmFuc21pc3Npb25NYXRlcmlhbE9wdGlvbnMgPSBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8dHlwZW9mIE1lc2hUcmFuc21pc3Npb25NYXRlcmlhbD5bMF07XG5cbmV4cG9ydCB0eXBlIE5ndHNNZXNoVHJhbnNtaXNzaW9uTWF0ZXJpYWxPcHRpb25zID0gUGFydGlhbDxOZ3RNZXNoUGh5c2ljYWxNYXRlcmlhbD4gJlxuXHRPbWl0PE1lc2hUcmFuc21pc3Npb25NYXRlcmlhbE9wdGlvbnMsICdidWZmZXInIHwgJ2FuaXNvdHJvcGljQmx1cicgfCAnc2FtcGxlcycgfCAndHJhbnNtaXNzaW9uU2FtcGxlcic+ICYge1xuXHRcdGFuaXNvdHJvcGljQmx1cj86IG51bWJlcjtcblx0XHRidWZmZXI/OiBUZXh0dXJlO1xuXHRcdC8qKiB0cmFuc21pc3Npb25TYW1wbGVyLCB5b3UgY2FuIHVzZSB0aGUgdGhyZWVqcyB0cmFuc21pc3Npb24gc2FtcGxlciB0ZXh0dXJlIHRoYXQgaXNcblx0XHQgKiAgZ2VuZXJhdGVkIG9uY2UgZm9yIGFsbCB0cmFuc21pc3NpdmUgbWF0ZXJpYWxzLiBUaGUgdXBzaWRlIGlzIHRoYXQgaXQgY2FuIGJlIGZhc3RlciBpZiB5b3Vcblx0XHQgKiAgdXNlIG11bHRpcGxlIE1lc2hQaHlzaWNhbCBhbmQgVHJhbnNtaXNzaW9uIG1hdGVyaWFscywgdGhlIGRvd25zaWRlIGlzIHRoYXQgdHJhbnNtaXNzaXZlIG1hdGVyaWFsc1xuXHRcdCAqICB1c2luZyB0aGlzIGNhbid0IHNlZSBvdGhlciB0cmFuc3BhcmVudCBvciB0cmFuc21pc3NpdmUgb2JqZWN0cywgZGVmYXVsdDogZmFsc2UgKi9cblx0XHR0cmFuc21pc3Npb25TYW1wbGVyOiBib29sZWFuO1xuXHRcdC8qKiBSZW5kZXIgdGhlIGJhY2tzaWRlIG9mIHRoZSBtYXRlcmlhbCAobW9yZSBjb3N0LCBiZXR0ZXIgcmVzdWx0cyksIGRlZmF1bHQ6IGZhbHNlICovXG5cdFx0YmFja3NpZGU6IGJvb2xlYW47XG5cdFx0LyoqIEJhY2tzaWRlIHRoaWNrbmVzcyAod2hlbiBiYWNrc2lkZSBpcyB0cnVlKSwgZGVmYXVsdDogMCAqL1xuXHRcdGJhY2tzaWRlVGhpY2tuZXNzOiBudW1iZXI7XG5cdFx0YmFja3NpZGVFbnZNYXBJbnRlbnNpdHk6IG51bWJlcjtcblx0XHQvKiogUmVzb2x1dGlvbiBvZiB0aGUgbG9jYWwgYnVmZmVyLCBkZWZhdWx0OiB1bmRlZmluZWQgKGZ1bGxzY3JlZW4pICovXG5cdFx0cmVzb2x1dGlvbj86IG51bWJlcjtcblx0XHQvKiogUmVzb2x1dGlvbiBvZiB0aGUgbG9jYWwgYnVmZmVyIGZvciBiYWNrZmFjZXMsIGRlZmF1bHQ6IHVuZGVmaW5lZCAoZnVsbHNjcmVlbikgKi9cblx0XHRiYWNrc2lkZVJlc29sdXRpb24/OiBudW1iZXI7XG5cdFx0LyoqIFJlZnJhY3Rpb24gc2FtcGxlcywgZGVmYXVsdDogNiAqL1xuXHRcdHNhbXBsZXM6IG51bWJlcjtcblx0XHQvKiogQnVmZmVyIHNjZW5lIGJhY2tncm91bmQgKGNhbiBiZSBhIHRleHR1cmUsIGEgY3ViZXRleHR1cmUgb3IgYSBjb2xvciksIGRlZmF1bHQ6IG51bGwgKi9cblx0XHRiYWNrZ3JvdW5kPzogVGV4dHVyZSB8IENvbG9yO1xuXHR9O1xuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0c01lc2hUcmFuc21pc3Npb25NYXRlcmlhbE9wdGlvbnMgPSB7XG5cdHRyYW5zbWlzc2lvblNhbXBsZXI6IGZhbHNlLFxuXHRiYWNrc2lkZTogZmFsc2UsXG5cdHNpZGU6IEZyb250U2lkZSxcblx0dHJhbnNtaXNzaW9uOiAxLFxuXHR0aGlja25lc3M6IDAsXG5cdGJhY2tzaWRlVGhpY2tuZXNzOiAwLFxuXHRiYWNrc2lkZUVudk1hcEludGVuc2l0eTogMSxcblx0c2FtcGxlczogMTAsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLW1lc2gtdHJhbnNtaXNzaW9uLW1hdGVyaWFsJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LXByaW1pdGl2ZVxuXHRcdFx0KmFyZ3M9XCJbbWF0ZXJpYWwoKV1cIlxuXHRcdFx0I21hdGVyaWFsXG5cdFx0XHRbYXR0YWNoXT1cImF0dGFjaCgpXCJcblx0XHRcdFtwYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnMoKVwiXG5cdFx0XHRbX3RyYW5zbWlzc2lvbl09XCJ0cmFuc21pc3Npb24oKVwiXG5cdFx0XHRbdHJhbnNtaXNzaW9uXT1cInRyYW5zbWlzc2lvblNhbXBsZXIoKSA/IHRyYW5zbWlzc2lvbigpIDogMFwiXG5cdFx0XHRbYnVmZmVyXT1cImJ1ZmZlclRleHR1cmUoKVwiXG5cdFx0XHRbYW5pc290cm9waWNCbHVyXT1cImFuaXNvdHJvcGljQmx1ck9wdGlvbigpXCJcblx0XHRcdFtzaWRlXT1cInNpZGUoKVwiXG5cdFx0XHRbdGhpY2tuZXNzXT1cInRoaWNrbmVzcygpXCJcblx0XHQ+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbmd0LXByaW1pdGl2ZT5cblx0YCxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aW1wb3J0czogW05ndEFyZ3NdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzTWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsIHtcblx0YXR0YWNoID0gaW5wdXQ8Tmd0QXR0YWNoYWJsZT4oJ21hdGVyaWFsJyk7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblx0cGFyYW1ldGVycyA9IG9taXQodGhpcy5vcHRpb25zLCBbXG5cdFx0J2J1ZmZlcicsXG5cdFx0J3RyYW5zbWlzc2lvblNhbXBsZXInLFxuXHRcdCdiYWNrc2lkZScsXG5cdFx0J3NpZGUnLFxuXHRcdCd0cmFuc21pc3Npb24nLFxuXHRcdCd0aGlja25lc3MnLFxuXHRcdCdiYWNrc2lkZVRoaWNrbmVzcycsXG5cdFx0J2JhY2tzaWRlRW52TWFwSW50ZW5zaXR5Jyxcblx0XHQnc2FtcGxlcycsXG5cdFx0J3Jlc29sdXRpb24nLFxuXHRcdCdiYWNrc2lkZVJlc29sdXRpb24nLFxuXHRcdCdiYWNrZ3JvdW5kJyxcblx0XHQnYW5pc290cm9weScsXG5cdFx0J2FuaXNvdHJvcGljQmx1cicsXG5cdF0pO1xuXG5cdHByaXZhdGUgcmVzb2x1dGlvbiA9IHBpY2sodGhpcy5vcHRpb25zLCAncmVzb2x1dGlvbicpO1xuXHRwcml2YXRlIGJhY2tzaWRlUmVzb2x1dGlvbiA9IHBpY2sodGhpcy5vcHRpb25zLCAnYmFja3NpZGVSZXNvbHV0aW9uJyk7XG5cdHByaXZhdGUgc2FtcGxlcyA9IHBpY2sodGhpcy5vcHRpb25zLCAnc2FtcGxlcycpO1xuXHRwcml2YXRlIGJ1ZmZlciA9IHBpY2sodGhpcy5vcHRpb25zLCAnYnVmZmVyJyk7XG5cdHByaXZhdGUgYW5pc290cm9weSA9IHBpY2sodGhpcy5vcHRpb25zLCAnYW5pc290cm9weScpO1xuXHRwcml2YXRlIGFuaXNvdHJvcGljQmx1ciA9IHBpY2sodGhpcy5vcHRpb25zLCAnYW5pc290cm9waWNCbHVyJyk7XG5cdHByaXZhdGUgYmFja2dyb3VuZCA9IHBpY2sodGhpcy5vcHRpb25zLCAnYmFja2dyb3VuZCcpO1xuXHRwcml2YXRlIGJhY2tzaWRlID0gcGljayh0aGlzLm9wdGlvbnMsICdiYWNrc2lkZScpO1xuXHRwcml2YXRlIGJhY2tzaWRlVGhpY2tuZXNzID0gcGljayh0aGlzLm9wdGlvbnMsICdiYWNrc2lkZVRoaWNrbmVzcycpO1xuXHRwcml2YXRlIGJhY2tzaWRlRW52TWFwSW50ZW5zaXR5ID0gcGljayh0aGlzLm9wdGlvbnMsICdiYWNrc2lkZUVudk1hcEludGVuc2l0eScpO1xuXG5cdHRyYW5zbWlzc2lvblNhbXBsZXIgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3RyYW5zbWlzc2lvblNhbXBsZXInKTtcblx0dHJhbnNtaXNzaW9uID0gcGljayh0aGlzLm9wdGlvbnMsICd0cmFuc21pc3Npb24nKTtcblx0dGhpY2tuZXNzID0gcGljayh0aGlzLm9wdGlvbnMsICd0aGlja25lc3MnKTtcblx0c2lkZSA9IHBpY2sodGhpcy5vcHRpb25zLCAnc2lkZScpO1xuXG5cdG1hdGVyaWFsUmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8TWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsICYgTWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsT3B0aW9ucz4+KCdtYXRlcmlhbCcpO1xuXG5cdHByaXZhdGUgYmFja1Jlc29sdXRpb24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmJhY2tzaWRlUmVzb2x1dGlvbigpIHx8IHRoaXMucmVzb2x1dGlvbigpKTtcblxuXHRwcml2YXRlIGZib0JhY2sgPSBpbmplY3RGQk8oKCkgPT4gKHsgd2lkdGg6IHRoaXMuYmFja1Jlc29sdXRpb24oKSB9KSk7XG5cdHByaXZhdGUgZmJvTWFpbiA9IGluamVjdEZCTygoKSA9PiAoeyB3aWR0aDogdGhpcy5yZXNvbHV0aW9uKCkgfSkpO1xuXG5cdGJ1ZmZlclRleHR1cmUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmJ1ZmZlcigpIHx8IHRoaXMuZmJvTWFpbigpLnRleHR1cmUpO1xuXHRhbmlzb3Ryb3BpY0JsdXJPcHRpb24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmFuaXNvdHJvcGljQmx1cigpIHx8IHRoaXMuYW5pc290cm9weSgpKTtcblxuXHRwcml2YXRlIGRpc2NhcmRNYXRlcmlhbCA9IG5ldyBNZXNoRGlzY2FyZE1hdGVyaWFsKCk7XG5cblx0bWF0ZXJpYWwgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgcHJldmlvdXNNYXRlcmlhbCA9IHVudHJhY2tlZCh0aGlzLm1hdGVyaWFsUmVmKT8ubmF0aXZlRWxlbWVudDtcblxuXHRcdGlmIChwcmV2aW91c01hdGVyaWFsKSB7XG5cdFx0XHRwcmV2aW91c01hdGVyaWFsLmRpc3Bvc2UoKTtcblx0XHRcdGRlbGV0ZSAocHJldmlvdXNNYXRlcmlhbCBhcyBOZ3RBbnlSZWNvcmQpWydfX25ndF9fJ107XG5cdFx0XHRkZWxldGUgKHByZXZpb3VzTWF0ZXJpYWwgYXMgTmd0QW55UmVjb3JkKVsnX19uZ3RfcmVuZGVyZXJfXyddO1xuXHRcdH1cblxuXHRcdGNvbnN0IFtzYW1wbGVzLCB0cmFuc21pc3Npb25TYW1wbGVyXSA9IFt0aGlzLnNhbXBsZXMoKSwgdGhpcy50cmFuc21pc3Npb25TYW1wbGVyKCldO1xuXHRcdHJldHVybiBuZXcgTWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsKHsgc2FtcGxlcywgdHJhbnNtaXNzaW9uU2FtcGxlciB9KTtcblx0fSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0aW5qZWN0KERlc3Ryb3lSZWYpLm9uRGVzdHJveSgoKSA9PiB7XG5cdFx0XHRjb25zdCBtYXRlcmlhbCA9IHRoaXMubWF0ZXJpYWxSZWYoKT8ubmF0aXZlRWxlbWVudDtcblx0XHRcdGlmIChtYXRlcmlhbCkge1xuXHRcdFx0XHRtYXRlcmlhbC5kaXNwb3NlKCk7XG5cdFx0XHRcdGRlbGV0ZSAobWF0ZXJpYWwgYXMgTmd0QW55UmVjb3JkKVsnX19uZ3RfXyddO1xuXHRcdFx0XHRkZWxldGUgKG1hdGVyaWFsIGFzIE5ndEFueVJlY29yZClbJ19fbmd0X3JlbmRlcmVyX18nXTtcblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdGxldCBvbGRCZzogVGV4dHVyZSB8IENvbG9yIHwgbnVsbDtcblx0XHRsZXQgb2xkRW52TWFwSW50ZW5zaXR5OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cdFx0bGV0IG9sZFRvbmU6IFRvbmVNYXBwaW5nIHwgdW5kZWZpbmVkO1xuXHRcdGxldCBwYXJlbnQ6IE1lc2ggfCB1bmRlZmluZWQ7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGNsb2NrLCBnbCwgc2NlbmUsIGNhbWVyYSB9KSA9PiB7XG5cdFx0XHRjb25zdCBtYXRlcmlhbCA9IHRoaXMubWF0ZXJpYWxSZWYoKT8ubmF0aXZlRWxlbWVudDtcblx0XHRcdGlmICghbWF0ZXJpYWwpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgW1xuXHRcdFx0XHRmYm9NYWluLFxuXHRcdFx0XHRmYm9CYWNrLFxuXHRcdFx0XHR0cmFuc21pc3Npb25TYW1wbGVyLFxuXHRcdFx0XHRiYWNrZ3JvdW5kLFxuXHRcdFx0XHRiYWNrc2lkZSxcblx0XHRcdFx0YmFja3NpZGVUaGlja25lc3MsXG5cdFx0XHRcdGJhY2tzaWRlRW52TWFwSW50ZW5zaXR5LFxuXHRcdFx0XHR0aGlja25lc3MsXG5cdFx0XHRcdHNpZGUsXG5cdFx0XHRdID0gW1xuXHRcdFx0XHR0aGlzLmZib01haW4oKSxcblx0XHRcdFx0dGhpcy5mYm9CYWNrKCksXG5cdFx0XHRcdHRoaXMudHJhbnNtaXNzaW9uU2FtcGxlcigpLFxuXHRcdFx0XHR0aGlzLmJhY2tncm91bmQoKSxcblx0XHRcdFx0dGhpcy5iYWNrc2lkZSgpLFxuXHRcdFx0XHR0aGlzLmJhY2tzaWRlVGhpY2tuZXNzKCksXG5cdFx0XHRcdHRoaXMuYmFja3NpZGVFbnZNYXBJbnRlbnNpdHkoKSxcblx0XHRcdFx0dGhpcy50aGlja25lc3MoKSxcblx0XHRcdFx0dGhpcy5zaWRlKCksXG5cdFx0XHRdO1xuXG5cdFx0XHRtYXRlcmlhbC50aW1lID0gY2xvY2suZ2V0RWxhcHNlZFRpbWUoKTtcblx0XHRcdC8vIFJlbmRlciBvbmx5IGlmIHRoZSBidWZmZXIgbWF0Y2hlcyB0aGUgYnVpbHQtaW4gYW5kIG5vIHRyYW5zbWlzc2lvbiBzYW1wbGVyIGlzIHNldFxuXHRcdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIHdlIGtub3cgbWF0ZXJpYWwuYnVmZmVyIGlzIG5vdCBqdXN0IHVuZGVmaW5lZCB8IG51bGxcblx0XHRcdGlmIChtYXRlcmlhbC5idWZmZXIgPT09IGZib01haW4udGV4dHVyZSAmJiAhdHJhbnNtaXNzaW9uU2FtcGxlcikge1xuXHRcdFx0XHRwYXJlbnQgPSBnZXRMb2NhbFN0YXRlKG1hdGVyaWFsKT8ucGFyZW50KCkgYXMgTWVzaDtcblxuXHRcdFx0XHRpZiAocGFyZW50KSB7XG5cdFx0XHRcdFx0Ly8gU2F2ZSBkZWZhdWx0c1xuXHRcdFx0XHRcdG9sZFRvbmUgPSBnbC50b25lTWFwcGluZztcblx0XHRcdFx0XHRvbGRCZyA9IHNjZW5lLmJhY2tncm91bmQ7XG5cdFx0XHRcdFx0b2xkRW52TWFwSW50ZW5zaXR5ID0gbWF0ZXJpYWwuZW52TWFwSW50ZW5zaXR5O1xuXG5cdFx0XHRcdFx0Ly8gU3dpdGNoIG9mZiB0b25lbWFwcGluZyBsZXN0IGl0IGRvdWJsZSB0b25lIG1hcHNcblx0XHRcdFx0XHQvLyBTYXZlIHRoZSBjdXJyZW50IGJhY2tncm91bmQgYW5kIHNldCB0aGUgSERSIGFzIHRoZSBuZXcgQkdcblx0XHRcdFx0XHQvLyBVc2UgZGlzY2FyZG1hdGVyaWFsLCB0aGUgcGFyZW50IHdpbGwgYmUgaW52aXNpYmxlLCBidXQgaXQncyBzaGFkb3dzIHdpbGwgc3RpbGwgYmUgY2FzdFxuXHRcdFx0XHRcdGdsLnRvbmVNYXBwaW5nID0gTm9Ub25lTWFwcGluZztcblx0XHRcdFx0XHRpZiAoYmFja2dyb3VuZCkgc2NlbmUuYmFja2dyb3VuZCA9IGJhY2tncm91bmQ7XG5cdFx0XHRcdFx0cGFyZW50Lm1hdGVyaWFsID0gdGhpcy5kaXNjYXJkTWF0ZXJpYWw7XG5cblx0XHRcdFx0XHRpZiAoYmFja3NpZGUpIHtcblx0XHRcdFx0XHRcdC8vIFJlbmRlciBpbnRvIHRoZSBiYWNrc2lkZSBidWZmZXJcblx0XHRcdFx0XHRcdGdsLnNldFJlbmRlclRhcmdldChmYm9CYWNrKTtcblx0XHRcdFx0XHRcdGdsLnJlbmRlcihzY2VuZSwgY2FtZXJhKTtcblx0XHRcdFx0XHRcdC8vIEFuZCBub3cgcHJlcGFyZSB0aGUgbWF0ZXJpYWwgZm9yIHRoZSBtYWluIHJlbmRlciB1c2luZyB0aGUgYmFja3NpZGUgYnVmZmVyXG5cdFx0XHRcdFx0XHRwYXJlbnQubWF0ZXJpYWwgPSBtYXRlcmlhbDtcblx0XHRcdFx0XHRcdE9iamVjdC5hc3NpZ24ocGFyZW50Lm1hdGVyaWFsLCB7XG5cdFx0XHRcdFx0XHRcdGJ1ZmZlcjogZmJvQmFjay50ZXh0dXJlLFxuXHRcdFx0XHRcdFx0XHR0aGlja25lc3M6IGJhY2tzaWRlVGhpY2tuZXNzLFxuXHRcdFx0XHRcdFx0XHRzaWRlOiBCYWNrU2lkZSxcblx0XHRcdFx0XHRcdFx0ZW52TWFwSW50ZW5zaXR5OiBiYWNrc2lkZUVudk1hcEludGVuc2l0eSxcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIFJlbmRlciBpbnRvIHRoZSBtYWluIGJ1ZmZlclxuXHRcdFx0XHRcdGdsLnNldFJlbmRlclRhcmdldChmYm9NYWluKTtcblx0XHRcdFx0XHRnbC5yZW5kZXIoc2NlbmUsIGNhbWVyYSk7XG5cblx0XHRcdFx0XHRwYXJlbnQubWF0ZXJpYWwgPSBtYXRlcmlhbDtcblx0XHRcdFx0XHRPYmplY3QuYXNzaWduKHBhcmVudC5tYXRlcmlhbCwge1xuXHRcdFx0XHRcdFx0YnVmZmVyOiBmYm9NYWluLnRleHR1cmUsXG5cdFx0XHRcdFx0XHR0aGlja25lc3MsXG5cdFx0XHRcdFx0XHRzaWRlLFxuXHRcdFx0XHRcdFx0ZW52TWFwSW50ZW5zaXR5OiBvbGRFbnZNYXBJbnRlbnNpdHksXG5cdFx0XHRcdFx0fSk7XG5cblx0XHRcdFx0XHQvLyBTZXQgb2xkIHN0YXRlIGJhY2tcblx0XHRcdFx0XHRzY2VuZS5iYWNrZ3JvdW5kID0gb2xkQmc7XG5cdFx0XHRcdFx0Z2wuc2V0UmVuZGVyVGFyZ2V0KG51bGwpO1xuXHRcdFx0XHRcdGdsLnRvbmVNYXBwaW5nID0gb2xkVG9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|
|
@@ -17,14 +17,14 @@ export class NgtsMeshWobbleMaterial {
|
|
|
17
17
|
material.time = clock.elapsedTime * this.options().speed;
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsMeshWobbleMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.6", type: NgtsMeshWobbleMaterial, isStandalone: true, selector: "ngts-mesh-wobble-material", inputs: { attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
22
22
|
<ngt-primitive *args="[material]" [parameters]="parameters()" [attach]="attach()">
|
|
23
23
|
<ng-content />
|
|
24
24
|
</ngt-primitive>
|
|
25
25
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
26
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsMeshWobbleMaterial, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
29
|
args: [{
|
|
30
30
|
selector: 'ngts-mesh-wobble-material',
|
|
@@ -8,14 +8,14 @@ export class NgtsPointMaterial {
|
|
|
8
8
|
this.options = input({});
|
|
9
9
|
this.material = new PointMaterial(this.options());
|
|
10
10
|
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsPointMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.6", type: NgtsPointMaterial, isStandalone: true, selector: "ngts-point-material", inputs: { attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
13
13
|
<ngt-primitive *args="[material]" [attach]="attach()" [parameters]="options()">
|
|
14
14
|
<ng-content />
|
|
15
15
|
</ngt-primitive>
|
|
16
16
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsPointMaterial, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
20
|
args: [{
|
|
21
21
|
selector: 'ngts-point-material',
|
|
@@ -14,10 +14,10 @@ export class NgtsBakeShadows {
|
|
|
14
14
|
});
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
18
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsBakeShadows, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: NgtsBakeShadows, isStandalone: true, selector: "ngts-bake-shadows", ngImport: i0 }); }
|
|
19
19
|
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsBakeShadows, decorators: [{
|
|
21
21
|
type: Directive,
|
|
22
22
|
args: [{ standalone: true, selector: 'ngts-bake-shadows' }]
|
|
23
23
|
}], ctorParameters: () => [] });
|
|
@@ -26,14 +26,14 @@ export class NgtsComputedAttribute {
|
|
|
26
26
|
bufferAttribute.copy(attribute);
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsComputedAttribute, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.6", type: NgtsComputedAttribute, isStandalone: true, selector: "ngts-computed-attribute", inputs: { compute: { classPropertyName: "compute", publicName: "compute", isSignal: true, isRequired: true, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "attributeRef", first: true, predicate: ["attribute"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
31
31
|
<ngt-primitive #attribute *args="[bufferAttribute]" [attach]="['attributes', name()]" [parameters]="options()">
|
|
32
32
|
<ng-content />
|
|
33
33
|
</ngt-primitive>
|
|
34
34
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
35
35
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsComputedAttribute, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{
|
|
39
39
|
selector: 'ngts-computed-attribute',
|
|
@@ -86,8 +86,8 @@ export class NgtsDecal {
|
|
|
86
86
|
});
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
90
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
89
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsDecal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
90
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: NgtsDecal, isStandalone: true, selector: "ngts-decal", inputs: { mesh: { classPropertyName: "mesh", publicName: "mesh", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "meshRef", first: true, predicate: ["mesh"], descendants: true, isSignal: true }, { propertyName: "helperRef", first: true, predicate: ["helper"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
91
91
|
<ngt-mesh #mesh [parameters]="parameters()">
|
|
92
92
|
<ngt-value [rawValue]="true" attach="material.transparent" />
|
|
93
93
|
<ngt-value [rawValue]="true" attach="material.polygonOffset" />
|
|
@@ -109,7 +109,7 @@ export class NgtsDecal {
|
|
|
109
109
|
</ngt-mesh>
|
|
110
110
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
111
111
|
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsDecal, decorators: [{
|
|
113
113
|
type: Component,
|
|
114
114
|
args: [{
|
|
115
115
|
selector: 'ngts-decal',
|
package/esm2022/misc/lib/fbo.mjs
CHANGED
|
@@ -76,10 +76,10 @@ export class NgtsFBO {
|
|
|
76
76
|
static ngTemplateContextGuard(_, ctx) {
|
|
77
77
|
return true;
|
|
78
78
|
}
|
|
79
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
80
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.
|
|
79
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsFBO, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
80
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.6", type: NgtsFBO, isStandalone: true, selector: "ng-template[fbo]", inputs: { fbo: { classPropertyName: "fbo", publicName: "fbo", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
81
81
|
}
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsFBO, decorators: [{
|
|
83
83
|
type: Directive,
|
|
84
84
|
args: [{ selector: 'ng-template[fbo]', standalone: true }]
|
|
85
85
|
}], ctorParameters: () => [] });
|
|
@@ -239,8 +239,8 @@ export class NgtsHTMLContent extends NgtHTML {
|
|
|
239
239
|
}
|
|
240
240
|
});
|
|
241
241
|
}
|
|
242
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
243
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
242
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsHTMLContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
243
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: NgtsHTMLContent, isStandalone: true, selector: "[ngtsHTMLContent]", inputs: { options: { classPropertyName: "options", publicName: "ngtsHTMLContent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { occluded: "occluded" }, host: { attributes: { "data-ngts-html-content": "" } }, viewQueries: [{ propertyName: "transformOuterRef", first: true, predicate: ["transformOuter"], descendants: true, isSignal: true }, { propertyName: "transformInnerRef", first: true, predicate: ["transformInner"], descendants: true, isSignal: true }, { propertyName: "containerRef", first: true, predicate: ["container"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
244
244
|
@if (html.transform()) {
|
|
245
245
|
<div
|
|
246
246
|
#transformOuter
|
|
@@ -275,7 +275,7 @@ export class NgtsHTMLContent extends NgtHTML {
|
|
|
275
275
|
</ng-template>
|
|
276
276
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
277
277
|
}
|
|
278
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
278
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsHTMLContent, decorators: [{
|
|
279
279
|
type: Component,
|
|
280
280
|
args: [{
|
|
281
281
|
selector: '[ngtsHTMLContent]',
|
|
@@ -75,8 +75,8 @@ export class NgtsHTML {
|
|
|
75
75
|
this.DoubleSide = DoubleSide;
|
|
76
76
|
extend({ Group, Mesh, PlaneGeometry, ShaderMaterial });
|
|
77
77
|
}
|
|
78
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
79
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
78
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsHTML, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
79
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: NgtsHTML, isStandalone: true, selector: "ngts-html", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "occlusionMeshRef", first: true, predicate: ["occlusionMesh"], descendants: true, isSignal: true }, { propertyName: "occlusionGeometryRef", first: true, predicate: ["occlusionGeometry"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
80
80
|
<ngt-group #group [parameters]="parameters()">
|
|
81
81
|
@if (occlude() && !isRaycastOcclusion()) {
|
|
82
82
|
<ngt-mesh #occlusionMesh [castShadow]="castShadow()" [receiveShadow]="receiveShadow()">
|
|
@@ -97,7 +97,7 @@ export class NgtsHTML {
|
|
|
97
97
|
<ng-content />
|
|
98
98
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
99
99
|
}
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsHTML, decorators: [{
|
|
101
101
|
type: Component,
|
|
102
102
|
args: [{
|
|
103
103
|
selector: 'ngts-html',
|
|
@@ -39,10 +39,10 @@ export class NgtsIntersect {
|
|
|
39
39
|
const host = inject(ElementRef);
|
|
40
40
|
injectIntersect(() => host, { source: this.intersect });
|
|
41
41
|
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
43
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsIntersect, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
43
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.6", type: NgtsIntersect, isStandalone: true, selector: "[intersect]", inputs: { intersect: { classPropertyName: "intersect", publicName: "intersect", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { intersect: "intersectChange" }, ngImport: i0 }); }
|
|
44
44
|
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsIntersect, decorators: [{
|
|
46
46
|
type: Directive,
|
|
47
47
|
args: [{ standalone: true, selector: '[intersect]' }]
|
|
48
48
|
}], ctorParameters: () => [] });
|
|
@@ -98,14 +98,14 @@ export class NgtsSampler {
|
|
|
98
98
|
}));
|
|
99
99
|
effect(sampler);
|
|
100
100
|
}
|
|
101
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
102
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
101
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsSampler, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
102
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.6", type: NgtsSampler, isStandalone: true, selector: "ngts-sampler", inputs: { mesh: { classPropertyName: "mesh", publicName: "mesh", isSignal: true, isRequired: false, transformFunction: null }, instances: { classPropertyName: "instances", publicName: "instances", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
103
103
|
<ngt-group #group [parameters]="parameters()">
|
|
104
104
|
<ng-content />
|
|
105
105
|
</ngt-group>
|
|
106
106
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
107
107
|
}
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsSampler, decorators: [{
|
|
109
109
|
type: Component,
|
|
110
110
|
args: [{
|
|
111
111
|
selector: 'ngts-sampler',
|
|
@@ -36,10 +36,10 @@ export class NgtsAdaptiveDpr {
|
|
|
36
36
|
domElement.style.imageRendering = 'auto';
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
40
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsAdaptiveDpr, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
40
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.6", type: NgtsAdaptiveDpr, isStandalone: true, selector: "ngts-adaptive-dpr", inputs: { pixelated: { classPropertyName: "pixelated", publicName: "pixelated", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsAdaptiveDpr, decorators: [{
|
|
43
43
|
type: Directive,
|
|
44
44
|
args: [{ selector: 'ngts-adaptive-dpr', standalone: true }]
|
|
45
45
|
}], ctorParameters: () => [] });
|
|
@@ -14,10 +14,10 @@ export class NgtsAdaptiveEvents {
|
|
|
14
14
|
store.snapshot.setEvents({ enabled: currentEnabled });
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
18
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsAdaptiveEvents, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: NgtsAdaptiveEvents, isStandalone: true, selector: "ngts-adaptive-events", ngImport: i0 }); }
|
|
19
19
|
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsAdaptiveEvents, decorators: [{
|
|
21
21
|
type: Directive,
|
|
22
22
|
args: [{ standalone: true, selector: 'ngts-adaptive-events' }]
|
|
23
23
|
}], ctorParameters: () => [] });
|
|
@@ -29,14 +29,14 @@ export class NgtsDetailed {
|
|
|
29
29
|
this.lodRef().nativeElement.update(camera);
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsDetailed, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.6", type: NgtsDetailed, isStandalone: true, selector: "ngts-detailed", inputs: { distances: { classPropertyName: "distances", publicName: "distances", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "lodRef", first: true, predicate: ["lod"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
34
34
|
<ngt-lOD #lod [parameters]="parameters()">
|
|
35
35
|
<ng-content />
|
|
36
36
|
</ngt-lOD>
|
|
37
37
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsDetailed, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
41
|
args: [{
|
|
42
42
|
selector: 'ngts-detailed',
|
|
@@ -22,14 +22,14 @@ export class NgtsInstance {
|
|
|
22
22
|
onCleanup(() => cleanup());
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsInstance, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.6", type: NgtsInstance, isStandalone: true, selector: "ngts-instance", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "positionMeshRef", first: true, predicate: ["positionMesh"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
27
27
|
<ngt-position-mesh #positionMesh [instance]="instances.instancedMeshRef()" [parameters]="options()">
|
|
28
28
|
<ng-content />
|
|
29
29
|
</ngt-position-mesh>
|
|
30
30
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
31
|
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsInstance, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
34
|
args: [{
|
|
35
35
|
selector: 'ngts-instance',
|
|
@@ -112,8 +112,8 @@ export class NgtsInstances {
|
|
|
112
112
|
this.instances = this.instances.filter((i) => i !== ref);
|
|
113
113
|
};
|
|
114
114
|
}
|
|
115
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
116
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
115
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsInstances, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
116
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.6", type: NgtsInstances, isStandalone: true, selector: "ngts-instances", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "instancedMeshRef", first: true, predicate: ["instancedMesh"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
117
117
|
<ngt-instanced-mesh
|
|
118
118
|
#instancedMesh
|
|
119
119
|
[userData]="{ instances }"
|
|
@@ -139,7 +139,7 @@ export class NgtsInstances {
|
|
|
139
139
|
</ngt-instanced-mesh>
|
|
140
140
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
141
141
|
}
|
|
142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsInstances, decorators: [{
|
|
143
143
|
type: Component,
|
|
144
144
|
args: [{
|
|
145
145
|
selector: 'ngts-instances',
|
|
@@ -15,14 +15,14 @@ export class NgtsPoint {
|
|
|
15
15
|
onCleanup(() => cleanUp());
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsPoint, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.6", type: NgtsPoint, isStandalone: true, selector: "ngts-point", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "positionPointRef", first: true, predicate: ["positionPoint"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
20
20
|
<ngt-position-point #positionPoint [parameters]="options()" [instance]="points.pointsRef()">
|
|
21
21
|
<ng-content />
|
|
22
22
|
</ngt-position-point>
|
|
23
23
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
24
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsPoint, decorators: [{
|
|
26
26
|
type: Component,
|
|
27
27
|
args: [{
|
|
28
28
|
selector: 'ngts-point',
|
|
@@ -58,8 +58,8 @@ export class NgtsPointsBuffer {
|
|
|
58
58
|
checkUpdate(attributes['size']);
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
62
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
61
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsPointsBuffer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
62
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: NgtsPointsBuffer, isStandalone: true, selector: "ngts-points-buffer", inputs: { positions: { classPropertyName: "positions", publicName: "positions", isSignal: true, isRequired: true, transformFunction: null }, colors: { classPropertyName: "colors", publicName: "colors", isSignal: true, isRequired: false, transformFunction: null }, sizes: { classPropertyName: "sizes", publicName: "sizes", isSignal: true, isRequired: false, transformFunction: null }, stride: { classPropertyName: "stride", publicName: "stride", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "pointsRef", first: true, predicate: ["points"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
63
63
|
<ngt-points #points [parameters]="options()">
|
|
64
64
|
<ngt-buffer-geometry>
|
|
65
65
|
<ngt-buffer-attribute
|
|
@@ -92,7 +92,7 @@ export class NgtsPointsBuffer {
|
|
|
92
92
|
</ngt-points>
|
|
93
93
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
94
94
|
}
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsPointsBuffer, decorators: [{
|
|
96
96
|
type: Component,
|
|
97
97
|
args: [{
|
|
98
98
|
selector: 'ngts-points-buffer',
|
|
@@ -190,8 +190,8 @@ export class NgtsPointsInstances {
|
|
|
190
190
|
this.positionPoints = this.positionPoints.filter((p) => p !== ref);
|
|
191
191
|
};
|
|
192
192
|
}
|
|
193
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
194
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
193
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsPointsInstances, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
194
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.6", type: NgtsPointsInstances, isStandalone: true, selector: "ngts-points-instances", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "pointsRef", first: true, predicate: ["points"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
195
195
|
<ngt-points
|
|
196
196
|
#points
|
|
197
197
|
[userData]="{ instances: positionPoints }"
|
|
@@ -226,7 +226,7 @@ export class NgtsPointsInstances {
|
|
|
226
226
|
</ngt-points>
|
|
227
227
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
228
228
|
}
|
|
229
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
229
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsPointsInstances, decorators: [{
|
|
230
230
|
type: Component,
|
|
231
231
|
args: [{
|
|
232
232
|
selector: 'ngts-points-instances',
|
|
@@ -20,12 +20,12 @@ export class NgtsSegment {
|
|
|
20
20
|
onCleanup(() => cleanUp());
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsSegment, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.6", type: NgtsSegment, isStandalone: true, selector: "ngts-segment", inputs: { start: { classPropertyName: "start", publicName: "start", isSignal: true, isRequired: true, transformFunction: null }, end: { classPropertyName: "end", publicName: "end", isSignal: true, isRequired: true, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "segmentRef", first: true, predicate: ["segment"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
25
25
|
<ngt-segment-object #segment [color]="color()" [start]="normalizedStart()" [end]="normalizedEnd()" />
|
|
26
26
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsSegment, decorators: [{
|
|
29
29
|
type: Component,
|
|
30
30
|
args: [{
|
|
31
31
|
selector: 'ngts-segment',
|
|
@@ -97,8 +97,8 @@ export class NgtsSegments {
|
|
|
97
97
|
this.segments = this.segments.filter((i) => i !== ref);
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
101
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsSegments, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
101
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.6", type: NgtsSegments, isStandalone: true, selector: "ngts-segments", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "lineRef", first: true, predicate: ["line"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
102
102
|
<ngt-primitive #line *args="[line]">
|
|
103
103
|
<ngt-primitive *args="[geometry]" attach="geometry" />
|
|
104
104
|
<ngt-primitive *args="[material]" attach="material" [parameters]="materialParameters()" />
|
|
@@ -106,7 +106,7 @@ export class NgtsSegments {
|
|
|
106
106
|
</ngt-primitive>
|
|
107
107
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
108
108
|
}
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsSegments, decorators: [{
|
|
110
110
|
type: Component,
|
|
111
111
|
args: [{
|
|
112
112
|
selector: 'ngts-segments',
|
|
@@ -128,8 +128,8 @@ export class NgtsAccumulativeShadows {
|
|
|
128
128
|
// Restore lights and meshes
|
|
129
129
|
this.pLM().finish();
|
|
130
130
|
}
|
|
131
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
132
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
131
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsAccumulativeShadows, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
132
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.6", type: NgtsAccumulativeShadows, isStandalone: true, selector: "ngts-accumulative-shadows", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "lightsRef", first: true, predicate: ["lights"], descendants: true, isSignal: true }, { propertyName: "planeRef", first: true, predicate: ["plane"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
133
133
|
<ngt-group [parameters]="parameters()">
|
|
134
134
|
<ngt-group #lights [traverse]="nullTraversal">
|
|
135
135
|
<ng-content />
|
|
@@ -149,7 +149,7 @@ export class NgtsAccumulativeShadows {
|
|
|
149
149
|
</ngt-group>
|
|
150
150
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
151
151
|
}
|
|
152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: NgtsAccumulativeShadows, decorators: [{
|
|
153
153
|
type: Component,
|
|
154
154
|
args: [{
|
|
155
155
|
selector: 'ngts-accumulative-shadows',
|