@shapediver/viewer.data-engine.geometry-engine 3.9.0 → 3.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +1 -1
  2. package/dist/GeometryEngine.d.ts +2 -2
  3. package/dist/GeometryEngine.d.ts.map +1 -1
  4. package/dist/GeometryEngine.js +47 -30
  5. package/dist/GeometryEngine.js.map +1 -1
  6. package/dist/gltfv1/GLTFLoader.d.ts +2 -2
  7. package/dist/gltfv1/GLTFLoader.d.ts.map +1 -1
  8. package/dist/gltfv1/GLTFLoader.js +143 -75
  9. package/dist/gltfv1/GLTFLoader.js.map +1 -1
  10. package/dist/gltfv1/SDGTFLoader.d.ts +1 -1
  11. package/dist/gltfv1/SDGTFLoader.d.ts.map +1 -1
  12. package/dist/gltfv1/SDGTFLoader.js +95 -74
  13. package/dist/gltfv1/SDGTFLoader.js.map +1 -1
  14. package/dist/gltfv2/GLTFLoader.d.ts +6 -6
  15. package/dist/gltfv2/GLTFLoader.d.ts.map +1 -1
  16. package/dist/gltfv2/GLTFLoader.js +200 -112
  17. package/dist/gltfv2/GLTFLoader.js.map +1 -1
  18. package/dist/gltfv2/draco/draco_decoder.d.ts.map +1 -1
  19. package/dist/gltfv2/draco/draco_decoder.js +101696 -49810
  20. package/dist/gltfv2/draco/draco_decoder.js.map +1 -1
  21. package/dist/gltfv2/loaders/AccessorLoader.d.ts +3 -3
  22. package/dist/gltfv2/loaders/AccessorLoader.d.ts.map +1 -1
  23. package/dist/gltfv2/loaders/AccessorLoader.js +21 -13
  24. package/dist/gltfv2/loaders/AccessorLoader.js.map +1 -1
  25. package/dist/gltfv2/loaders/BufferLoader.d.ts +1 -1
  26. package/dist/gltfv2/loaders/BufferLoader.d.ts.map +1 -1
  27. package/dist/gltfv2/loaders/BufferLoader.js +10 -8
  28. package/dist/gltfv2/loaders/BufferLoader.js.map +1 -1
  29. package/dist/gltfv2/loaders/BufferViewLoader.d.ts +2 -2
  30. package/dist/gltfv2/loaders/BufferViewLoader.d.ts.map +1 -1
  31. package/dist/gltfv2/loaders/BufferViewLoader.js +5 -5
  32. package/dist/gltfv2/loaders/BufferViewLoader.js.map +1 -1
  33. package/dist/gltfv2/loaders/GeometryLoader.d.ts +7 -7
  34. package/dist/gltfv2/loaders/GeometryLoader.d.ts.map +1 -1
  35. package/dist/gltfv2/loaders/GeometryLoader.js +39 -28
  36. package/dist/gltfv2/loaders/GeometryLoader.js.map +1 -1
  37. package/dist/gltfv2/loaders/MaterialLoader.d.ts +3 -3
  38. package/dist/gltfv2/loaders/MaterialLoader.d.ts.map +1 -1
  39. package/dist/gltfv2/loaders/MaterialLoader.js +301 -108
  40. package/dist/gltfv2/loaders/MaterialLoader.js.map +1 -1
  41. package/dist/gltfv2/loaders/TextureLoader.d.ts +2 -2
  42. package/dist/gltfv2/loaders/TextureLoader.d.ts.map +1 -1
  43. package/dist/gltfv2/loaders/TextureLoader.js +23 -15
  44. package/dist/gltfv2/loaders/TextureLoader.js.map +1 -1
  45. package/dist/index.d.ts +1 -1
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js.map +1 -1
  48. package/package.json +57 -57
@@ -10,9 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SDGTFLoader = void 0;
13
+ const viewer_data_engine_shared_types_1 = require("@shapediver/viewer.data-engine.shared-types");
13
14
  const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
14
15
  const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
15
- const viewer_data_engine_shared_types_1 = require("@shapediver/viewer.data-engine.shared-types");
16
16
  const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
17
17
  const gl_matrix_1 = require("gl-matrix");
18
18
  class SDGTFLoader {
@@ -29,19 +29,26 @@ class SDGTFLoader {
29
29
  if (gltfLength < binaryGeometry.byteLength) {
30
30
  const headerDataView = new DataView(binaryGeometry, gltfLength, this.BINARY_EXTENSION_HEADER_LENGTH + 1);
31
31
  const header = {
32
- magic: String.fromCharCode(headerDataView.getUint8(0)) + String.fromCharCode(headerDataView.getUint8(1)) + String.fromCharCode(headerDataView.getUint8(2)) + String.fromCharCode(headerDataView.getUint8(3)) + String.fromCharCode(headerDataView.getUint8(4)),
32
+ magic: String.fromCharCode(headerDataView.getUint8(0)) +
33
+ String.fromCharCode(headerDataView.getUint8(1)) +
34
+ String.fromCharCode(headerDataView.getUint8(2)) +
35
+ String.fromCharCode(headerDataView.getUint8(3)) +
36
+ String.fromCharCode(headerDataView.getUint8(4)),
33
37
  version: headerDataView.getUint32(5, true),
34
38
  length: headerDataView.getUint32(9, true),
35
39
  contentLength: headerDataView.getUint32(13, true),
36
- contentFormat: headerDataView.getUint32(17, true)
40
+ contentFormat: headerDataView.getUint32(17, true),
37
41
  };
38
- if (header.magic != 'sdgTF')
39
- throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('SDGTFLoader.load: Invalid data: sdgTF magic wrong.');
42
+ if (header.magic != "sdgTF")
43
+ throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError("SDGTFLoader.load: Invalid data: sdgTF magic wrong.");
40
44
  // create content
41
45
  const contentDataView = new DataView(binaryGeometry, gltfLength + this.BINARY_EXTENSION_HEADER_LENGTH + 1, header.contentLength);
42
46
  const contentDecoded = new TextDecoder().decode(contentDataView);
43
47
  this._content = JSON.parse(contentDecoded);
44
- this._body = binaryGeometry.slice(gltfLength + this.BINARY_EXTENSION_HEADER_LENGTH + 1 + header.contentLength, gltfLength + header.length);
48
+ this._body = binaryGeometry.slice(gltfLength +
49
+ this.BINARY_EXTENSION_HEADER_LENGTH +
50
+ 1 +
51
+ header.contentLength, gltfLength + header.length);
45
52
  }
46
53
  else {
47
54
  return new viewer_shared_node_tree_1.TreeNode();
@@ -66,7 +73,7 @@ class SDGTFLoader {
66
73
  loadAccessor(accessorName) {
67
74
  return __awaiter(this, void 0, void 0, function* () {
68
75
  if (!this._content.accessors[accessorName])
69
- throw new Error('Accessor not available.');
76
+ throw new Error("Accessor not available.");
70
77
  const accessor = this._content.accessors[accessorName];
71
78
  const bufferView = this._body;
72
79
  const itemSize = viewer_data_engine_shared_types_1.ACCESSORTYPE_V1[accessor.type];
@@ -80,16 +87,16 @@ class SDGTFLoader {
80
87
  loadArcs() {
81
88
  return __awaiter(this, void 0, void 0, function* () {
82
89
  if (!this._content.arcs)
83
- throw new Error('Arcs not available.');
90
+ throw new Error("Arcs not available.");
84
91
  const arc = this._content.arcs;
85
- const arcNode = new viewer_shared_node_tree_1.TreeNode('arcs');
86
- const data = yield this.loadAccessor(arc.attributes['ARCS']);
92
+ const arcNode = new viewer_shared_node_tree_1.TreeNode("arcs");
93
+ const data = yield this.loadAccessor(arc.attributes["ARCS"]);
87
94
  // data with an absolute classic array of Vec12s ...
88
95
  // like you usually have it in any good program
89
96
  // not 4 Vec3s, no, that would be to logic, but a Vec12 instead
90
97
  const count = data.array.length / data.itemSize;
91
98
  for (let i = 0; i < count; ++i) {
92
- const singleArcNode = new viewer_shared_node_tree_1.TreeNode('arc_' + i);
99
+ const singleArcNode = new viewer_shared_node_tree_1.TreeNode("arc_" + i);
93
100
  const index = i * 12;
94
101
  const arcCenter = gl_matrix_1.vec3.fromValues(data.array[index + 0], data.array[index + 1], data.array[index + 2]);
95
102
  const arcXAxis = gl_matrix_1.vec3.fromValues(data.array[index + 3], data.array[index + 4], data.array[index + 5]);
@@ -99,7 +106,7 @@ class SDGTFLoader {
99
106
  const arcMaxAngle = data.array[index + 11];
100
107
  const arcZAxis = gl_matrix_1.vec3.cross(gl_matrix_1.vec3.create(), arcXAxis, arcYAxis);
101
108
  if (arcRadius <= 0) {
102
- this._logger.warn('SDGTFLoader.loadArcs: Arc radius is <= 0.');
109
+ this._logger.warn("SDGTFLoader.loadArcs: Arc radius is <= 0.");
103
110
  continue;
104
111
  }
105
112
  const points = [];
@@ -112,28 +119,33 @@ class SDGTFLoader {
112
119
  deltaAngle += twoPi;
113
120
  while (deltaAngle > twoPi)
114
121
  deltaAngle -= twoPi;
115
- deltaAngle = deltaAngle < Number.EPSILON ? samePoints ? 0 : twoPi : deltaAngle;
122
+ deltaAngle =
123
+ deltaAngle < Number.EPSILON
124
+ ? samePoints
125
+ ? 0
126
+ : twoPi
127
+ : deltaAngle;
116
128
  const angle = arcMinAngle + t * deltaAngle;
117
129
  let x = arcRadius * Math.cos(angle);
118
130
  let y = arcRadius * Math.sin(angle);
119
131
  points.push(x, y, 0);
120
132
  };
121
- const numberOfPoints = Math.max(3, Math.round(50 * ((arcMaxAngle - arcMinAngle) / 2 * Math.PI)));
133
+ const numberOfPoints = Math.max(3, Math.round(50 * (((arcMaxAngle - arcMinAngle) / 2) * Math.PI)));
122
134
  for (let d = 0; d <= numberOfPoints; d++)
123
135
  getPointOnArc(d / numberOfPoints);
124
136
  const array = new Float32Array(points);
125
137
  const attributes = {};
126
- attributes['POSITION'] = new viewer_shared_types_1.AttributeData(array, 3, 0, 0, 0, false, array.length / 3);
138
+ attributes["POSITION"] = new viewer_shared_types_1.AttributeData(array, 3, 0, 0, 0, false, array.length / 3);
127
139
  const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, null), viewer_shared_types_1.PRIMITIVE_MODE.LINE_STRIP);
128
140
  singleArcNode.data.push(geometry);
129
141
  singleArcNode.addTransformation({
130
- id: 'arc_' + i + '_translation',
131
- matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(arcCenter[0], arcCenter[1], arcCenter[2]))
142
+ id: "arc_" + i + "_translation",
143
+ matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(arcCenter[0], arcCenter[1], arcCenter[2])),
132
144
  });
133
145
  const arcRotationMatrix = gl_matrix_1.mat4.transpose(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.fromValues(arcXAxis[0], arcYAxis[0], arcZAxis[0], 0, arcXAxis[1], arcYAxis[1], arcZAxis[1], 0, arcXAxis[2], arcYAxis[2], arcZAxis[2], 0, 0, 0, 0, 1));
134
146
  singleArcNode.addTransformation({
135
- id: 'arc_' + i + '_rotation',
136
- matrix: arcRotationMatrix
147
+ id: "arc_" + i + "_rotation",
148
+ matrix: arcRotationMatrix,
137
149
  });
138
150
  arcNode.addChild(singleArcNode);
139
151
  }
@@ -143,14 +155,14 @@ class SDGTFLoader {
143
155
  loadBeziercurve(beziercurveName) {
144
156
  return __awaiter(this, void 0, void 0, function* () {
145
157
  if (!this._content.beziercurves[beziercurveName])
146
- throw new Error('Beziercurve not available.');
158
+ throw new Error("Beziercurve not available.");
147
159
  const beziercurve = this._content.beziercurves[beziercurveName];
148
160
  const beziercurveNode = new viewer_shared_node_tree_1.TreeNode(beziercurveName);
149
- const controlPointsData = yield this.loadAccessor(beziercurve.attributes['CONTROLPOINTS']); // vec3
161
+ const controlPointsData = yield this.loadAccessor(beziercurve.attributes["CONTROLPOINTS"]); // vec3
150
162
  const controlPoints = [];
151
163
  for (let i = 0; i < controlPointsData.array.length; i += 3)
152
164
  controlPoints.push(gl_matrix_1.vec4.fromValues(controlPointsData.array[i], controlPointsData.array[i + 1], controlPointsData.array[i + 2], 1));
153
- const knotsData = yield this.loadAccessor(beziercurve.attributes['KNOTS']); // scalar
165
+ const knotsData = yield this.loadAccessor(beziercurve.attributes["KNOTS"]); // scalar
154
166
  const knots = [knotsData.array[0]];
155
167
  for (let i = 0; i < knotsData.array.length; i++)
156
168
  knots.push(knotsData.array[i]);
@@ -229,7 +241,7 @@ class SDGTFLoader {
229
241
  getPointOnBezierCurve(d / numberOfPoints);
230
242
  const array = new Float32Array(points);
231
243
  const attributes = {};
232
- attributes['POSITION'] = new viewer_shared_types_1.AttributeData(array, 3, 0, 0, 0, false, array.length / 3);
244
+ attributes["POSITION"] = new viewer_shared_types_1.AttributeData(array, 3, 0, 0, 0, false, array.length / 3);
233
245
  const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, null), viewer_shared_types_1.PRIMITIVE_MODE.LINE_STRIP);
234
246
  beziercurveNode.data.push(geometry);
235
247
  return beziercurveNode;
@@ -238,13 +250,13 @@ class SDGTFLoader {
238
250
  loadCircles() {
239
251
  return __awaiter(this, void 0, void 0, function* () {
240
252
  if (!this._content.circles)
241
- throw new Error('Circles not available.');
253
+ throw new Error("Circles not available.");
242
254
  const circle = this._content.circles;
243
- const circleNode = new viewer_shared_node_tree_1.TreeNode('circles');
244
- const data = yield this.loadAccessor(circle.attributes['CIRCLES']);
255
+ const circleNode = new viewer_shared_node_tree_1.TreeNode("circles");
256
+ const data = yield this.loadAccessor(circle.attributes["CIRCLES"]);
245
257
  const count = data.array.length / data.itemSize;
246
258
  for (let i = 0; i < count; i++) {
247
- const singleCircleNode = new viewer_shared_node_tree_1.TreeNode('circle_' + i);
259
+ const singleCircleNode = new viewer_shared_node_tree_1.TreeNode("circle_" + i);
248
260
  const index = i * 10;
249
261
  const circleCenter = gl_matrix_1.vec3.fromValues(data.array[index + 0], data.array[index + 1], data.array[index + 2]);
250
262
  const circleXAxis = gl_matrix_1.vec3.fromValues(data.array[index + 3], data.array[index + 4], data.array[index + 5]);
@@ -252,7 +264,7 @@ class SDGTFLoader {
252
264
  const circleRadius = data.array[index + 9];
253
265
  const circleZAxis = gl_matrix_1.vec3.cross(gl_matrix_1.vec3.create(), circleXAxis, circleYAxis);
254
266
  if (circleRadius <= 0) {
255
- this._logger.warn('SDGTFLoader.loadCircles: Circle radius is <= 0.');
267
+ this._logger.warn("SDGTFLoader.loadCircles: Circle radius is <= 0.");
256
268
  continue;
257
269
  }
258
270
  const points = [];
@@ -265,7 +277,12 @@ class SDGTFLoader {
265
277
  deltaAngle += twoPi;
266
278
  while (deltaAngle > twoPi)
267
279
  deltaAngle -= twoPi;
268
- deltaAngle = deltaAngle < Number.EPSILON ? samePoints ? 0 : twoPi : deltaAngle;
280
+ deltaAngle =
281
+ deltaAngle < Number.EPSILON
282
+ ? samePoints
283
+ ? 0
284
+ : twoPi
285
+ : deltaAngle;
269
286
  const angle = 0 + t * deltaAngle;
270
287
  let x = circleRadius * Math.cos(angle);
271
288
  let y = circleRadius * Math.sin(angle);
@@ -276,17 +293,17 @@ class SDGTFLoader {
276
293
  getPointOnArc(d / numberOfPoints);
277
294
  const array = new Float32Array(points);
278
295
  const attributes = {};
279
- attributes['POSITION'] = new viewer_shared_types_1.AttributeData(array, 3, 0, 0, 0, false, array.length / 3);
296
+ attributes["POSITION"] = new viewer_shared_types_1.AttributeData(array, 3, 0, 0, 0, false, array.length / 3);
280
297
  const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, null), viewer_shared_types_1.PRIMITIVE_MODE.LINE_STRIP);
281
298
  singleCircleNode.data.push(geometry);
282
299
  singleCircleNode.addTransformation({
283
- id: 'circle_' + i + '_translation',
284
- matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(circleCenter[0], circleCenter[1], circleCenter[2]))
300
+ id: "circle_" + i + "_translation",
301
+ matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(circleCenter[0], circleCenter[1], circleCenter[2])),
285
302
  });
286
303
  const circleRotationMatrix = gl_matrix_1.mat4.transpose(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.fromValues(circleXAxis[0], circleYAxis[0], circleZAxis[0], 0, circleXAxis[1], circleYAxis[1], circleZAxis[1], 0, circleXAxis[2], circleYAxis[2], circleZAxis[2], 0, 0, 0, 0, 1));
287
304
  singleCircleNode.addTransformation({
288
- id: 'circle_' + i + '_rotation',
289
- matrix: circleRotationMatrix
305
+ id: "circle_" + i + "_rotation",
306
+ matrix: circleRotationMatrix,
290
307
  });
291
308
  circleNode.addChild(singleCircleNode);
292
309
  }
@@ -296,13 +313,13 @@ class SDGTFLoader {
296
313
  loadCylinders() {
297
314
  return __awaiter(this, void 0, void 0, function* () {
298
315
  if (!this._content.cylinders)
299
- throw new Error('Cylinders not available.');
316
+ throw new Error("Cylinders not available.");
300
317
  const cylinder = this._content.cylinders;
301
- const cylinderNode = new viewer_shared_node_tree_1.TreeNode('cylinders');
302
- const data = yield this.loadAccessor(cylinder.attributes['CYLINDERS']);
318
+ const cylinderNode = new viewer_shared_node_tree_1.TreeNode("cylinders");
319
+ const data = yield this.loadAccessor(cylinder.attributes["CYLINDERS"]);
303
320
  const count = data.array.length / data.itemSize;
304
321
  for (let i = 0; i < count; i++) {
305
- const singleCylinderNode = new viewer_shared_node_tree_1.TreeNode('cylinder_' + i);
322
+ const singleCylinderNode = new viewer_shared_node_tree_1.TreeNode("cylinder_" + i);
306
323
  const index = i * 7;
307
324
  const cylinderTop = gl_matrix_1.vec3.fromValues(data.array[index + 0], data.array[index + 1], data.array[index + 2]);
308
325
  const cylinderBottom = gl_matrix_1.vec3.fromValues(data.array[index + 3], data.array[index + 4], data.array[index + 5]);
@@ -322,7 +339,7 @@ class SDGTFLoader {
322
339
  gl_matrix_1.vec3.normalize(cylinderXAxis, cylinderXAxis);
323
340
  gl_matrix_1.vec3.normalize(cylinderYAxis, cylinderYAxis);
324
341
  if (cylinderRadius <= 0) {
325
- this._logger.warn('SDGTFLoader.loadCylinders: Cylinder radius is <= 0.');
342
+ this._logger.warn("SDGTFLoader.loadCylinders: Cylinder radius is <= 0.");
326
343
  continue;
327
344
  }
328
345
  const indices = [];
@@ -383,27 +400,27 @@ class SDGTFLoader {
383
400
  }
384
401
  }
385
402
  const attributes = {};
386
- attributes['POSITION'] = new viewer_shared_types_1.AttributeData(new Float32Array(vertices), 3, 0, 0, 0, false, vertices.length / 3);
387
- attributes['NORMAL'] = new viewer_shared_types_1.AttributeData(new Float32Array(normals), 3, 0, 0, 0, false, normals.length / 3);
388
- attributes['TEXCOORD_0'] = new viewer_shared_types_1.AttributeData(new Float32Array(uvs), 2, 0, 0, 0, false, uvs.length / 2);
403
+ attributes["POSITION"] = new viewer_shared_types_1.AttributeData(new Float32Array(vertices), 3, 0, 0, 0, false, vertices.length / 3);
404
+ attributes["NORMAL"] = new viewer_shared_types_1.AttributeData(new Float32Array(normals), 3, 0, 0, 0, false, normals.length / 3);
405
+ attributes["TEXCOORD_0"] = new viewer_shared_types_1.AttributeData(new Float32Array(uvs), 2, 0, 0, 0, false, uvs.length / 2);
389
406
  const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, new viewer_shared_types_1.AttributeData(this.convertToIndicesArray(indices), 1, 0, 0, 0, false, indices.length)), viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLES);
390
407
  singleCylinderNode.data.push(geometry);
391
408
  singleCylinderNode.addTransformation({
392
- id: 'cylinder_' + i + '_translation',
393
- matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), cylinderBottom)
409
+ id: "cylinder_" + i + "_translation",
410
+ matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), cylinderBottom),
394
411
  });
395
412
  const cylinderRotationMatrix = gl_matrix_1.mat4.transpose(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.fromValues(cylinderXAxis[0], cylinderYAxis[0], cylinderAxis[0], 0, cylinderXAxis[1], cylinderYAxis[1], cylinderAxis[1], 0, cylinderXAxis[2], cylinderYAxis[2], cylinderAxis[2], 0, 0, 0, 0, 1));
396
413
  singleCylinderNode.addTransformation({
397
- id: 'cylinder_' + i + '_rotation',
398
- matrix: cylinderRotationMatrix
414
+ id: "cylinder_" + i + "_rotation",
415
+ matrix: cylinderRotationMatrix,
399
416
  });
400
417
  singleCylinderNode.addTransformation({
401
- id: 'cylinder_' + i + '_rotation2',
402
- matrix: gl_matrix_1.mat4.rotateX(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), 0.5 * Math.PI)
418
+ id: "cylinder_" + i + "_rotation2",
419
+ matrix: gl_matrix_1.mat4.rotateX(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), 0.5 * Math.PI),
403
420
  });
404
421
  singleCylinderNode.addTransformation({
405
- id: 'cylinder_' + i + '_translation2',
406
- matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(0, 0, 0.5 * gl_matrix_1.vec3.distance(cylinderTop, cylinderBottom)))
422
+ id: "cylinder_" + i + "_translation2",
423
+ matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(0, 0, 0.5 * gl_matrix_1.vec3.distance(cylinderTop, cylinderBottom))),
407
424
  });
408
425
  cylinderNode.addChild(singleCylinderNode);
409
426
  }
@@ -413,18 +430,18 @@ class SDGTFLoader {
413
430
  loadSpheres() {
414
431
  return __awaiter(this, void 0, void 0, function* () {
415
432
  if (!this._content.spheres)
416
- throw new Error('Spheres not available.');
433
+ throw new Error("Spheres not available.");
417
434
  const sphere = this._content.spheres;
418
- const sphereNode = new viewer_shared_node_tree_1.TreeNode('spheres');
419
- const data = yield this.loadAccessor(sphere.attributes['SPHERES']);
435
+ const sphereNode = new viewer_shared_node_tree_1.TreeNode("spheres");
436
+ const data = yield this.loadAccessor(sphere.attributes["SPHERES"]);
420
437
  const count = data.array.length / data.itemSize;
421
438
  for (let i = 0; i < count; i++) {
422
- const singleSphereNode = new viewer_shared_node_tree_1.TreeNode('sphere_' + i);
439
+ const singleSphereNode = new viewer_shared_node_tree_1.TreeNode("sphere_" + i);
423
440
  const index = i * 4;
424
441
  const sphereTranslation = gl_matrix_1.vec3.fromValues(data.array[index + 0], data.array[index + 1], data.array[index + 2]);
425
442
  const sphereRadius = data.array[index + 3];
426
443
  if (sphereRadius <= 0) {
427
- this._logger.warn('SDGTFLoader.loadSpheres: Sphere radius is <= 0.');
444
+ this._logger.warn("SDGTFLoader.loadSpheres: Sphere radius is <= 0.");
428
445
  continue;
429
446
  }
430
447
  const indices = [];
@@ -453,7 +470,11 @@ class SDGTFLoader {
453
470
  for (let ix = 0; ix <= widthSegments; ix++) {
454
471
  const u = ix / widthSegments;
455
472
  // vertex
456
- const vertex = gl_matrix_1.vec3.fromValues(-sphereRadius * Math.cos(phiStart + u * phiLength) * Math.sin(thetaStart + v * thetaLength), sphereRadius * Math.cos(thetaStart + v * thetaLength), sphereRadius * Math.sin(phiStart + u * phiLength) * Math.sin(thetaStart + v * thetaLength));
473
+ const vertex = gl_matrix_1.vec3.fromValues(-sphereRadius *
474
+ Math.cos(phiStart + u * phiLength) *
475
+ Math.sin(thetaStart + v * thetaLength), sphereRadius * Math.cos(thetaStart + v * thetaLength), sphereRadius *
476
+ Math.sin(phiStart + u * phiLength) *
477
+ Math.sin(thetaStart + v * thetaLength));
457
478
  vertices.push(vertex[0], vertex[1], vertex[2]);
458
479
  // normal
459
480
  const normal = gl_matrix_1.vec3.normalize(gl_matrix_1.vec3.create(), vertex);
@@ -478,14 +499,14 @@ class SDGTFLoader {
478
499
  }
479
500
  }
480
501
  const attributes = {};
481
- attributes['POSITION'] = new viewer_shared_types_1.AttributeData(new Float32Array(vertices), 3, 0, 0, 0, false, vertices.length / 3);
482
- attributes['NORMAL'] = new viewer_shared_types_1.AttributeData(new Float32Array(normals), 3, 0, 0, 0, false, normals.length / 3);
483
- attributes['TEXCOORD_0'] = new viewer_shared_types_1.AttributeData(new Float32Array(uvs), 2, 0, 0, 0, false, uvs.length / 2);
502
+ attributes["POSITION"] = new viewer_shared_types_1.AttributeData(new Float32Array(vertices), 3, 0, 0, 0, false, vertices.length / 3);
503
+ attributes["NORMAL"] = new viewer_shared_types_1.AttributeData(new Float32Array(normals), 3, 0, 0, 0, false, normals.length / 3);
504
+ attributes["TEXCOORD_0"] = new viewer_shared_types_1.AttributeData(new Float32Array(uvs), 2, 0, 0, 0, false, uvs.length / 2);
484
505
  const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, new viewer_shared_types_1.AttributeData(this.convertToIndicesArray(indices), 1, 0, 0, 0, false, indices.length)), viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLES);
485
506
  singleSphereNode.data.push(geometry);
486
507
  singleSphereNode.addTransformation({
487
- id: 'sphere_' + i + '_translation',
488
- matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), sphereTranslation)
508
+ id: "sphere_" + i + "_translation",
509
+ matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), sphereTranslation),
489
510
  });
490
511
  sphereNode.addChild(singleSphereNode);
491
512
  }
@@ -495,12 +516,12 @@ class SDGTFLoader {
495
516
  loadPoint(pointName) {
496
517
  return __awaiter(this, void 0, void 0, function* () {
497
518
  if (!this._content.points[pointName])
498
- throw new Error('Point not available.');
519
+ throw new Error("Point not available.");
499
520
  const point = this._content.points[pointName];
500
521
  const pointNode = new viewer_shared_node_tree_1.TreeNode(pointName);
501
522
  const attributes = {};
502
- const data = yield this.loadAccessor(point.attributes['POINTS']);
503
- attributes['POSITION'] = new viewer_shared_types_1.AttributeData(data.array, 3, data.itemBytes, data.byteOffset, data.elementBytes, data.normalized, data.count);
523
+ const data = yield this.loadAccessor(point.attributes["POINTS"]);
524
+ attributes["POSITION"] = new viewer_shared_types_1.AttributeData(data.array, 3, data.itemBytes, data.byteOffset, data.elementBytes, data.normalized, data.count);
504
525
  const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, null), viewer_shared_types_1.PRIMITIVE_MODE.POINTS);
505
526
  pointNode.data.push(geometry);
506
527
  return pointNode;
@@ -509,12 +530,12 @@ class SDGTFLoader {
509
530
  loadPolyline(polylineName) {
510
531
  return __awaiter(this, void 0, void 0, function* () {
511
532
  if (!this._content.polylines[polylineName])
512
- throw new Error('Polyline not available.');
533
+ throw new Error("Polyline not available.");
513
534
  const polyLine = this._content.polylines[polylineName];
514
535
  const polyLineNode = new viewer_shared_node_tree_1.TreeNode(polylineName);
515
536
  const attributes = {};
516
- const data = yield this.loadAccessor(polyLine.attributes['VERTICES']);
517
- attributes['POSITION'] = new viewer_shared_types_1.AttributeData(data.array, 3, data.itemBytes, data.byteOffset, data.elementBytes, data.normalized, data.count);
537
+ const data = yield this.loadAccessor(polyLine.attributes["VERTICES"]);
538
+ attributes["POSITION"] = new viewer_shared_types_1.AttributeData(data.array, 3, data.itemBytes, data.byteOffset, data.elementBytes, data.normalized, data.count);
518
539
  const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, null), viewer_shared_types_1.PRIMITIVE_MODE.LINE_STRIP);
519
540
  polyLineNode.data.push(geometry);
520
541
  return polyLineNode;
@@ -523,12 +544,12 @@ class SDGTFLoader {
523
544
  loadSurfacepatch(surfacepatchName) {
524
545
  return __awaiter(this, void 0, void 0, function* () {
525
546
  if (!this._content.surfacepatches[surfacepatchName])
526
- throw new Error('Surfacepatch not available.');
547
+ throw new Error("Surfacepatch not available.");
527
548
  const surfacepatch = this._content.surfacepatches[surfacepatchName];
528
549
  const surfacepatchNode = new viewer_shared_node_tree_1.TreeNode(surfacepatchName);
529
550
  const controlPointCountU = surfacepatch.controlPointCountU;
530
551
  const controlPointCountV = surfacepatch.controlPointCountV;
531
- const controlPointsData = yield this.loadAccessor(surfacepatch.attributes['CONTROLPOINTS']); // vec3
552
+ const controlPointsData = yield this.loadAccessor(surfacepatch.attributes["CONTROLPOINTS"]); // vec3
532
553
  const controlPoints = [];
533
554
  let pointCount = 0;
534
555
  for (let u = 0; u < controlPointCountU; u++) {
@@ -539,12 +560,12 @@ class SDGTFLoader {
539
560
  }
540
561
  controlPoints.push(innerArray);
541
562
  }
542
- const knotsUData = yield this.loadAccessor(surfacepatch.attributes['KNOTSU']); // scalar
563
+ const knotsUData = yield this.loadAccessor(surfacepatch.attributes["KNOTSU"]); // scalar
543
564
  const knotsU = [knotsUData.array[0]];
544
565
  for (let i = 0; i < knotsUData.array.length; i++)
545
566
  knotsU.push(knotsUData.array[i]);
546
567
  knotsU.push(knotsUData.array[knotsUData.array.length - 1]);
547
- const knotsVData = yield this.loadAccessor(surfacepatch.attributes['KNOTSV']); // scalar
568
+ const knotsVData = yield this.loadAccessor(surfacepatch.attributes["KNOTSV"]); // scalar
548
569
  const knotsV = [knotsVData.array[0]];
549
570
  for (let i = 0; i < knotsVData.array.length; i++)
550
571
  knotsV.push(knotsVData.array[i]);
@@ -643,10 +664,10 @@ class SDGTFLoader {
643
664
  }
644
665
  }
645
666
  const attributes = {};
646
- attributes['POSITION'] = new viewer_shared_types_1.AttributeData(new Float32Array(vertices), 3, 0, 0, 0, false, vertices.length / 3);
667
+ attributes["POSITION"] = new viewer_shared_types_1.AttributeData(new Float32Array(vertices), 3, 0, 0, 0, false, vertices.length / 3);
647
668
  // to not compute normals ourselves, we just let three.js do it
648
669
  // in our geometry loader, this array will cause the computation of vertex normals
649
- attributes['NORMAL'] = new viewer_shared_types_1.AttributeData(new Float32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), 3, 0, 0, 0, false, vertices.length / 3);
670
+ attributes["NORMAL"] = new viewer_shared_types_1.AttributeData(new Float32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), 3, 0, 0, 0, false, vertices.length / 3);
650
671
  const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, new viewer_shared_types_1.AttributeData(this.convertToIndicesArray(indices), 1, 0, 0, 0, false, indices.length)), viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLES);
651
672
  surfacepatchNode.data.push(geometry);
652
673
  return surfacepatchNode;
@@ -654,7 +675,7 @@ class SDGTFLoader {
654
675
  }
655
676
  loadScene() {
656
677
  return __awaiter(this, void 0, void 0, function* () {
657
- const sceneNode = new viewer_shared_node_tree_1.TreeNode('sdgtf_content');
678
+ const sceneNode = new viewer_shared_node_tree_1.TreeNode("sdgtf_content");
658
679
  // arcs
659
680
  if (this._content.arcs)
660
681
  sceneNode.addChild(yield this.loadArcs());
@@ -1 +1 @@
1
- {"version":3,"file":"SDGTFLoader.js","sourceRoot":"","sources":["../../src/gltfv1/SDGTFLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iFAAyE;AACzE,+EAAgG;AAChG,iGAIoD;AACpD,yEAMwC;AACxC,yCAA4C;AAE5C,MAAa,WAAW;IAAxB;QACI,yBAAyB;QAER,mCAA8B,GAAG,EAAE,CAAC;QACpC,YAAO,GAAW,+BAAM,CAAC,QAAQ,CAAC;QAiyBnD,iCAAiC;IACrC,CAAC;IA7xBG,4BAA4B;IAE5B,6BAA6B;IAEhB,IAAI,CAAC,cAA2B,EAAE,UAAkB;;YAC7D,IAAI,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE;gBACxC,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,8BAA8B,GAAG,CAAC,CAAC,CAAC;gBACzG,MAAM,MAAM,GAAG;oBACX,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC9P,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;oBAC1C,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;oBACzC,aAAa,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC;oBACjD,aAAa,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC;iBACpD,CAAA;gBACD,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO;oBACvB,MAAM,IAAI,4DAAmC,CAAC,oDAAoD,CAAC,CAAC;gBAExG,iBAAiB;gBACjB,MAAM,eAAe,GAAG,IAAI,QAAQ,CAAC,cAAc,EAAE,UAAU,GAAG,IAAI,CAAC,8BAA8B,GAAG,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;gBACjI,MAAM,cAAc,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC3C,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,8BAA8B,GAAG,CAAC,GAAG,MAAM,CAAC,aAAa,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;aAC9I;iBAAM;gBACH,OAAO,IAAI,kCAAQ,EAAE,CAAC;aACzB;YAED,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,CAAC;KAAA;IAED,gCAAgC;IAEhC,8BAA8B;IAEtB,qBAAqB,CAAC,OAAiB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;QACpC,IAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;YACnB,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;SAClC;aAAM,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE;YAC5B,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;SACnC;aAAM;YACH,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;SACnC;IACL,CAAC;IAEa,YAAY,CAAC,YAAoB;;YAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC,YAAY,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;YACvF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC,YAAY,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;YAE9B,MAAM,QAAQ,GAAG,iDAAY,CAA4B,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxE,MAAM,SAAS,GAAG,0DAAsB,CAAsC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAEtG,MAAM,YAAY,GAAG,SAAS,CAAC,iBAAiB,CAAC;YACjD,MAAM,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;YAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC;YAE5C,OAAO,IAAI,mCAAa,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrK,CAAC;KAAA;IAEa,QAAQ;;YAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;YAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,kCAAQ,CAAC,MAAM,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YAE7D,oDAAoD;YACpD,+CAA+C;YAC/C,+DAA+D;YAE/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE;gBAC5B,MAAM,aAAa,GAAG,IAAI,kCAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAE/C,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvG,MAAM,QAAQ,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACtG,MAAM,QAAQ,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACtG,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACxC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;gBAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;gBAC3C,MAAM,QAAQ,GAAG,gBAAI,CAAC,KAAK,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;gBAE9D,IAAI,SAAS,IAAI,CAAC,EAAE;oBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;oBAC/D,SAAS;iBACZ;gBACD,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,MAAM,aAAa,GAAG,CAAC,CAAS,EAAQ,EAAE;oBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC1B,IAAI,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;oBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;oBACzD,uCAAuC;oBACvC,OAAO,UAAU,GAAG,CAAC;wBAAE,UAAU,IAAI,KAAK,CAAC;oBAC3C,OAAO,UAAU,GAAG,KAAK;wBAAE,UAAU,IAAI,KAAK,CAAC;oBAC/C,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC/E,MAAM,KAAK,GAAG,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC;oBAC3C,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACpC,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzB,CAAC,CAAA;gBAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE;oBACpC,aAAa,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;gBAEtC,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,UAAU,GAEZ,EAAE,CAAC;gBACP,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAEtF,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,oCAAc,CAAC,UAAU,CAAC,CAAC;gBAClG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAElC,aAAa,CAAC,iBAAiB,CAAC;oBAC5B,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,cAAc;oBAC/B,MAAM,EAAE,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClH,CAAC,CAAC;gBAEH,MAAM,iBAAiB,GAAG,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,UAAU,CACnE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EACxC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EACxC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EACxC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACb,CAAC,CAAC;gBACH,aAAa,CAAC,iBAAiB,CAAC;oBAC5B,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,WAAW;oBAC5B,MAAM,EAAE,iBAAiB;iBAC5B,CAAC,CAAC;gBAEH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;aACnC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;IAEa,eAAe,CAAC,eAAuB;;YACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAa,CAAC,eAAe,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;YAChG,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAa,CAAC,eAAe,CAAC,CAAC;YACjE,MAAM,eAAe,GAAG,IAAI,kCAAQ,CAAC,eAAe,CAAC,CAAC;YAEtD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO;YACnG,MAAM,aAAa,GAAW,EAAE,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;gBACtD,aAAa,CAAC,IAAI,CAAC,gBAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAEvI,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACrF,MAAM,KAAK,GAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;gBAC3C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YACvD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YAElC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE;gBACnC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;oBACb,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC;oBAClB,OAAO,MAAM,CAAC;gBAElB,IAAI,GAAG,GAAG,MAAM,CAAC;gBACjB,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEvC,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE;oBAC1C,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE;wBAChB,IAAI,GAAG,GAAG,CAAC;qBACd;yBAAM;wBACH,GAAG,GAAG,GAAG,CAAC;qBACb;oBACD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;iBACtC;gBACD,OAAO,GAAG,CAAC;YACf,CAAC,CAAA;YAED,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,CAAS,EAAE,EAAE;gBACnD,MAAM,CAAC,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAEX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,EAAE;oBAC9B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAE/B,IAAI,KAAK,GAAG,GAAG,CAAC;oBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;wBACxB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACxB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACvB,MAAM,IAAI,GAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;wBACtC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;wBACzB,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;qBACrB;oBACD,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;iBAChB;gBACD,OAAO,CAAC,CAAC;YACb,CAAC,CAAA;YAED,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAQ,EAAE;gBACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzB,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACtC,MAAM,CAAC,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,EAAE;oBAC9B,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC1B,gBAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;iBACjG;gBACD,OAAO,CAAC,CAAC;YACb,CAAC,CAAA;YAED,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,qBAAqB,GAAG,CAAC,CAAS,EAAQ,EAAE;gBAC9C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;gBACrF,yDAAyD;gBACzD,IAAI,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;oBACnB,uDAAuD;oBACvD,MAAM,GAAG,gBAAI,CAAC,MAAM,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,gBAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;iBAC3G;gBACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,CAAA;YAED,+BAA+B;YAC/B,yDAAyD;YACzD,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE;gBACzC,QAAQ,IAAI,gBAAI,CAAC,QAAQ,CAAC,gBAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1M,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE;gBACpC,qBAAqB,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;YAE9C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,UAAU,GAEZ,EAAE,CAAC;YACP,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAEtF,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,oCAAc,CAAC,UAAU,CAAC,CAAC;YAClG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEpC,OAAO,eAAe,CAAC;QAC3B,CAAC;KAAA;IAEa,WAAW;;YACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;YACrE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACrC,MAAM,UAAU,GAAG,IAAI,kCAAQ,CAAC,SAAS,CAAC,CAAC;YAE3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YAEnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC5B,MAAM,gBAAgB,GAAG,IAAI,kCAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAErD,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;gBACrB,MAAM,YAAY,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1G,MAAM,WAAW,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzG,MAAM,WAAW,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzG,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC3C,MAAM,WAAW,GAAG,gBAAI,CAAC,KAAK,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;gBAEvE,IAAI,YAAY,IAAI,CAAC,EAAE;oBACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;oBACrE,SAAS;iBACZ;gBAED,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,MAAM,aAAa,GAAG,CAAC,CAAS,EAAQ,EAAE;oBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC1B,IAAI,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;oBACnC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;oBACzD,uCAAuC;oBACvC,OAAO,UAAU,GAAG,CAAC;wBAAE,UAAU,IAAI,KAAK,CAAC;oBAC3C,OAAO,UAAU,GAAG,KAAK;wBAAE,UAAU,IAAI,KAAK,CAAC;oBAC/C,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC/E,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;oBACjC,IAAI,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACvC,IAAI,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACvC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzB,CAAC,CAAA;gBAED,MAAM,cAAc,GAAG,EAAE,CAAC;gBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE;oBACpC,aAAa,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;gBAEtC,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,UAAU,GAEZ,EAAE,CAAC;gBACP,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAEtF,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,oCAAc,CAAC,UAAU,CAAC,CAAC;gBAClG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAErC,gBAAgB,CAAC,iBAAiB,CAAC;oBAC/B,EAAE,EAAE,SAAS,GAAG,CAAC,GAAG,cAAc;oBAClC,MAAM,EAAE,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3H,CAAC,CAAC;gBAEH,MAAM,oBAAoB,GAAG,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,UAAU,CACtE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EACjD,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EACjD,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EACjD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACb,CAAC,CAAC;gBACH,gBAAgB,CAAC,iBAAiB,CAAC;oBAC/B,EAAE,EAAE,SAAS,GAAG,CAAC,GAAG,WAAW;oBAC/B,MAAM,EAAE,oBAAoB;iBAC/B,CAAC,CAAC;gBAEH,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;aAEzC;YACD,OAAO,UAAU,CAAC;QACtB,CAAC;KAAA;IAEa,aAAa;;YACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACzC,MAAM,YAAY,GAAG,IAAI,kCAAQ,CAAC,WAAW,CAAC,CAAC;YAE/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;YAEvE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC5B,MAAM,kBAAkB,GAAG,IAAI,kCAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;gBAEzD,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpB,MAAM,WAAW,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzG,MAAM,cAAc,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC5G,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC7C,MAAM,YAAY,GAAG,gBAAI,CAAC,GAAG,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,cAAc,CAAC,CAAA;gBACzE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAC,GAAG,CAAC,YAAY,EAAE,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAC,GAAG,CAAC,YAAY,EAAE,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAExE,IAAI,aAAmB,CAAC;gBACxB,IAAI,IAAI,GAAG,IAAI,EAAE;oBACb,aAAa,GAAG,gBAAI,CAAC,KAAK,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBACrF;qBAAM;oBACH,aAAa,GAAG,gBAAI,CAAC,KAAK,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBAErF;gBACD,MAAM,aAAa,GAAG,gBAAI,CAAC,KAAK,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;gBAE7E,gBAAI,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBAC3C,gBAAI,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBAC7C,gBAAI,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBAE7C,IAAI,cAAc,IAAI,CAAC,EAAE;oBACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;oBACzE,SAAS;iBACZ;gBAED,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAa,EAAE,CAAC;gBAGzB,MAAM,MAAM,GAAG,gBAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAC1D,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC;gBAC9B,MAAM,UAAU,GAAG,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;gBAC/C,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,MAAM,UAAU,GAAe,EAAE,CAAC;gBAElC,MAAM,cAAc,GAAG,CAAC,EAAE,cAAc,GAAG,EAAE,CAAC;gBAE9C,MAAM,MAAM,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;gBAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,4CAA4C;gBAC5C,MAAM,KAAK,GAAG,CAAC,CAAC;gBAChB,qCAAqC;gBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,QAAQ,GAAG,EAAE,CAAC;oBACpB,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;oBAC7B,0CAA0C;oBAC1C,MAAM,MAAM,GAAG,cAAc,CAAC;oBAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE,EAAE;wBACtC,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;wBAC7B,MAAM,KAAK,GAAG,CAAC,GAAG,WAAW,GAAG,UAAU,CAAC;wBAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACjC,SAAS;wBACT,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC;wBAC9B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAE,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC;wBACtC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC;wBAC9B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/C,SAAS;wBACT,gBAAI,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;wBAClE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9C,KAAK;wBACL,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;wBACnB,yCAAyC;wBACzC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;qBACjC;oBACD,kDAAkD;oBAClD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC7B;gBAED,mBAAmB;gBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;oBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;wBACrC,uDAAuD;wBACvD,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACnC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC/B,QAAQ;wBACR,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;wBACtB,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;wBACtB,uBAAuB;wBACvB,UAAU,IAAI,CAAC,CAAC;qBACnB;iBACJ;gBAED,MAAM,UAAU,GAEZ,EAAE,CAAC;gBACP,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC9G,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC1G,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAEtG,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,mCAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,oCAAc,CAAC,SAAS,CAAC,CAAC;gBACtL,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEvC,kBAAkB,CAAC,iBAAiB,CAAC;oBACjC,EAAE,EAAE,WAAW,GAAG,CAAC,GAAG,cAAc;oBACpC,MAAM,EAAE,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC;iBACvE,CAAC,CAAC;gBAEH,MAAM,sBAAsB,GAAG,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,UAAU,CACxE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EACtD,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EACtD,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EACtD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACb,CAAC,CAAC;gBACH,kBAAkB,CAAC,iBAAiB,CAAC;oBACjC,EAAE,EAAE,WAAW,GAAG,CAAC,GAAG,WAAW;oBACjC,MAAM,EAAE,sBAAsB;iBACjC,CAAC,CAAC;gBAGH,kBAAkB,CAAC,iBAAiB,CAAC;oBACjC,EAAE,EAAE,WAAW,GAAG,CAAC,GAAG,YAAY;oBAClC,MAAM,EAAE,gBAAI,CAAC,OAAO,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;iBACpE,CAAC,CAAC;gBACH,kBAAkB,CAAC,iBAAiB,CAAC;oBACjC,EAAE,EAAE,WAAW,GAAG,CAAC,GAAG,eAAe;oBACrC,MAAM,EAAE,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,gBAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;iBAChI,CAAC,CAAC;gBACH,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;aAE7C;YACD,OAAO,YAAY,CAAC;QACxB,CAAC;KAAA;IAEa,WAAW;;YACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;YACrE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACrC,MAAM,UAAU,GAAG,IAAI,kCAAQ,CAAC,SAAS,CAAC,CAAC;YAE3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YAEnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC5B,MAAM,gBAAgB,GAAG,IAAI,kCAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAErD,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpB,MAAM,iBAAiB,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/G,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC3C,IAAI,YAAY,IAAI,CAAC,EAAE;oBACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;oBACrE,SAAS;iBACZ;gBAED,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAa,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAe,EAAE,CAAC;gBAE5B,sDAAsD;gBACtD,4CAA4C;gBAC5C,MAAM,cAAc,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC;gBACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAE7D,IAAI,YAAY,GAAG,CAAC,CAAC;gBAErB,qCAAqC;gBAErC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,cAAc,EAAE,EAAE,EAAE,EAAE;oBACzC,MAAM,WAAW,GAAG,EAAE,CAAC;oBACvB,MAAM,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;oBAE9B,6BAA6B;oBAC7B,IAAI,OAAO,GAAG,CAAC,CAAC;oBAChB,IAAI,EAAE,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE;wBAC5B,OAAO,GAAG,GAAG,GAAG,aAAa,CAAC;qBACjC;yBAAM,IAAI,EAAE,IAAI,cAAc,IAAI,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE;wBACpD,OAAO,GAAG,CAAE,GAAG,GAAG,aAAa,CAAC;qBACnC;oBACD,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,aAAa,EAAE,EAAE,EAAE,EAAE;wBACxC,MAAM,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;wBAC7B,SAAS;wBACT,MAAM,MAAM,GAAG,gBAAI,CAAC,UAAU,CAC1B,CAAE,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,WAAW,CAAC,EAC5F,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,WAAW,CAAC,EACrD,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,WAAW,CAAC,CAC7F,CAAC;wBACF,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/C,SAAS;wBACT,MAAM,MAAM,GAAG,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;wBACrD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9C,KAAK;wBACL,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC7B,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;qBACpC;oBACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAC1B;gBAED,UAAU;gBACV,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,cAAc,EAAE,EAAE,EAAE,EAAE;oBACxC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,aAAa,EAAE,EAAE,EAAE,EAAE;wBACvC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;wBAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;wBAC/B,IAAI,EAAE,KAAK,CAAC,IAAI,UAAU,GAAG,CAAC;4BAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;wBACtD,IAAI,EAAE,KAAK,cAAc,GAAG,CAAC,IAAI,QAAQ,GAAG,IAAI,CAAC,EAAE;4BAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;qBAC9E;iBACJ;gBAED,MAAM,UAAU,GAEZ,EAAE,CAAC;gBACP,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC9G,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC1G,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAEtG,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,mCAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,oCAAc,CAAC,SAAS,CAAC,CAAC;gBACtL,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAErC,gBAAgB,CAAC,iBAAiB,CAAC;oBAC/B,EAAE,EAAE,SAAS,GAAG,CAAC,GAAG,cAAc;oBAClC,MAAM,EAAE,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC;iBAC1E,CAAC,CAAC;gBACH,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;aAEzC;YACD,OAAO,UAAU,CAAC;QACtB,CAAC;KAAA;IAEa,SAAS,CAAC,SAAiB;;YACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAO,CAAC,SAAS,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;YAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAO,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,IAAI,kCAAQ,CAAC,SAAS,CAAC,CAAC;YAE1C,MAAM,UAAU,GAEZ,EAAE,CAAC;YAEP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YAE1I,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,oCAAc,CAAC,MAAM,CAAC,CAAC;YAC9F,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE9B,OAAO,SAAS,CAAC;QACrB,CAAC;KAAA;IAEa,YAAY,CAAC,YAAoB;;YAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC,YAAY,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;YACvF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC,YAAY,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,IAAI,kCAAQ,CAAC,YAAY,CAAC,CAAC;YAEhD,MAAM,UAAU,GAEZ,EAAE,CAAC;YAEP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YACtE,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YAE1I,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,oCAAc,CAAC,UAAU,CAAC,CAAC;YAClG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEjC,OAAO,YAAY,CAAC;QACxB,CAAC;KAAA;IAEa,gBAAgB,CAAC,gBAAwB;;YACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAe,CAAC,gBAAgB,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;YACpG,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAe,CAAC,gBAAgB,CAAC,CAAC;YACrE,MAAM,gBAAgB,GAAG,IAAI,kCAAQ,CAAC,gBAAgB,CAAC,CAAC;YAExD,MAAM,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC;YAC3D,MAAM,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC;YAE3D,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO;YACpG,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,UAAU,GAAG,EAAE,CAAA;gBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;oBACzC,UAAU,CAAC,IAAI,CAAC,gBAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACvK,UAAU,EAAE,CAAC;iBAChB;gBACD,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAClC;YAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACxF,MAAM,MAAM,GAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;gBAC5C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YAE1D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACxF,MAAM,MAAM,GAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;gBAC5C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YAE1D,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;YACrC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;YAErC,MAAM,QAAQ,GAAG,CAAC,KAAe,EAAE,MAAc,EAAE,CAAS,EAAU,EAAE;gBACpE,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;oBACb,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC;oBAClB,OAAO,MAAM,CAAC;gBAElB,IAAI,GAAG,GAAG,MAAM,CAAC;gBACjB,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEvC,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE;oBAC1C,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE;wBAChB,IAAI,GAAG,GAAG,CAAC;qBACd;yBAAM;wBACH,GAAG,GAAG,GAAG,CAAC;qBACb;oBACD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;iBACtC;gBACD,OAAO,GAAG,CAAC;YACf,CAAC,CAAA;YAED,MAAM,kBAAkB,GAAG,CAAC,KAAe,EAAE,MAAc,EAAE,IAAY,EAAE,CAAS,EAAE,EAAE;gBACpF,MAAM,CAAC,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAEX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,EAAE;oBAC9B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAE/B,IAAI,KAAK,GAAG,GAAG,CAAC;oBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;wBACxB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACxB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACvB,MAAM,IAAI,GAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;wBACtC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;wBACzB,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;qBACrB;oBACD,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;iBAChB;gBACD,OAAO,CAAC,CAAC;YACb,CAAC,CAAA;YAED,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAE,CAAS,EAAQ,EAAE;gBAEpD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC3C,MAAM,EAAE,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBACzD,MAAM,EAAE,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBACzD,MAAM,IAAI,GAAW,EAAE,CAAC;gBAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE;oBAE/B,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;oBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE;wBAE/B,MAAM,KAAK,GAAG,gBAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;wBAClF,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACnB,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACd,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACd,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACd,gBAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAI,CAAC,QAAQ,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,gBAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;qBAC/G;iBACJ;gBAED,MAAM,EAAE,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;gBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE;oBAC/B,gBAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,gBAAI,CAAC,QAAQ,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;iBACvG;gBAED,gBAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,gBAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAChE,OAAO,gBAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC,CAAA;YAED,MAAM,sBAAsB,GAAG,CAAC,EAAU,EAAE,EAAU,EAAQ,EAAE;gBAC5D,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB;gBAC3F,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB;gBAC3F,OAAO,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC,CAAA;YAED,MAAM,cAAc,GAAG,EAAE,CAAC;YAE1B,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,EAAE,CAAC;YAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;gBAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;oBAC7B,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC5C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClD;aACJ;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;gBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;oBACrC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACxC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC5C,MAAM,EAAE,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC5C,MAAM,EAAE,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAChD,oBAAoB;oBACpB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;iBAC5B;aACJ;YAED,MAAM,UAAU,GAEZ,EAAE,CAAC;YACP,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/G,+DAA+D;YAC/D,kFAAkF;YAClF,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEnI,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,mCAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,oCAAc,CAAC,SAAS,CAAC,CAAC;YACtL,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAErC,OAAO,gBAAgB,CAAC;QAC5B,CAAC;KAAA;IAGa,SAAS;;YACnB,MAAM,SAAS,GAAG,IAAI,kCAAQ,CAAC,eAAe,CAAC,CAAC;YAEhD,OAAO;YACP,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAClB,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE9C,eAAe;YACf,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;gBAC5B,KAAK,IAAI,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY;oBAC9C,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;aACnE;YAED,UAAU;YACV,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO;gBACrB,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAEjD,YAAY;YACZ,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS;gBACvB,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAEnD,QAAQ;YACR,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACtB,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAClC,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;aACvD;YAED,YAAY;YACZ,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBACzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS;oBACpC,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;aACzD;YAED,UAAU;YACV,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO;gBACrB,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAEjD,iBAAiB;YACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;gBAC9B,KAAK,IAAI,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc;oBACjD,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;aACrE;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;KAAA;CAGJ;AAtyBD,kCAsyBC"}
1
+ {"version":3,"file":"SDGTFLoader.js","sourceRoot":"","sources":["../../src/gltfv1/SDGTFLoader.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { ITreeNode } from '@shapediver/viewer.shared.node-tree';
2
- import { IGLTF_v2 } from '@shapediver/viewer.data-engine.shared-types';
1
+ import { IGLTF_v2 } from "@shapediver/viewer.data-engine.shared-types";
2
+ import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
3
3
  export declare enum GLTF_EXTENSIONS {
4
4
  KHR_BINARY_GLTF = "KHR_binary_glTF",
5
5
  KHR_DRACO_MESH_COMPRESSION = "KHR_draco_mesh_compression",
@@ -50,10 +50,10 @@ export declare class GLTFLoader {
50
50
  }, baseUri?: string, taskEventId?: string): Promise<ITreeNode>;
51
51
  loadWithUrl(url?: string | undefined): Promise<ITreeNode>;
52
52
  /**
53
- * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#animations
54
- * @param {number} animationIndex
55
- * @return {Promise<AnimationClip>}
56
- */
53
+ * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#animations
54
+ * @param {number} animationIndex
55
+ * @return {Promise<AnimationClip>}
56
+ */
57
57
  private loadAnimation;
58
58
  private loadCamera;
59
59
  private loadLights;