bruce-cesium 7.6.9 → 7.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/bruce-cesium.es5.js +17081 -16649
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +8498 -8065
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/bruce-cesium.js +1 -1
  6. package/dist/lib/rendering/menu-item-manager.js +148 -5
  7. package/dist/lib/rendering/menu-item-manager.js.map +1 -1
  8. package/dist/lib/rendering/render-managers/other/assembly-render-manager.js +6 -0
  9. package/dist/lib/rendering/render-managers/other/assembly-render-manager.js.map +1 -1
  10. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +19 -5
  11. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
  12. package/dist/lib/rendering/tileset-render-engine.js +47 -18
  13. package/dist/lib/rendering/tileset-render-engine.js.map +1 -1
  14. package/dist/lib/rendering/view-render-engine.js +58 -63
  15. package/dist/lib/rendering/view-render-engine.js.map +1 -1
  16. package/dist/lib/utils/entity-utils.js +32 -36
  17. package/dist/lib/utils/entity-utils.js.map +1 -1
  18. package/dist/lib/utils/simplify-geometry.js +101 -5
  19. package/dist/lib/utils/simplify-geometry.js.map +1 -1
  20. package/dist/lib/utils/view-utils.js +156 -1
  21. package/dist/lib/utils/view-utils.js.map +1 -1
  22. package/dist/types/bruce-cesium.d.ts +1 -1
  23. package/dist/types/rendering/menu-item-manager.d.ts +24 -1
  24. package/dist/types/rendering/render-managers/other/assembly-render-manager.d.ts +2 -0
  25. package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +8 -1
  26. package/dist/types/rendering/tileset-render-engine.d.ts +7 -0
  27. package/dist/types/rendering/view-render-engine.d.ts +6 -0
  28. package/dist/types/utils/simplify-geometry.d.ts +2 -2
  29. package/dist/types/utils/view-utils.d.ts +97 -1
  30. package/package.json +2 -2
@@ -92,7 +92,7 @@ __exportStar(require("./widgets/widget-info-view"), exports);
92
92
  __exportStar(require("./widgets/widget-left-panel"), exports);
93
93
  __exportStar(require("./widgets/widget-nav-compass"), exports);
94
94
  __exportStar(require("./widgets/widget-view-bar"), exports);
95
- exports.VERSION = "7.6.9";
95
+ exports.VERSION = "7.7.0";
96
96
  /**
97
97
  * Updates the environment instance used by bruce-cesium to one specified.
98
98
  * This can be used to ensure that the instance a parent is referencing is shared between bruce-cesium, bruce-models, and the parent app.
@@ -27,6 +27,7 @@ const google_search_render_manager_1 = require("./render-managers/other/google-s
27
27
  const assembly_render_manager_1 = require("./render-managers/other/assembly-render-manager");
28
28
  const menu_item_styles_1 = require("./menu-item-styles");
29
29
  const menu_item_style_overlay_1 = require("./menu-item-style-overlay");
30
+ const view_utils_1 = require("../utils/view-utils");
30
31
  /**
31
32
  * Util to batch Tileset and Root Entity coord requests between Menu Items.
32
33
  * This avoids per-menu-item requests and allows for them to request together if enabled within N ms of each other.
@@ -279,6 +280,8 @@ var MenuItemManager;
279
280
  // Laid over each item's own style where it can take one, including items rendered after it was set.
280
281
  this.styleOverlay = null;
281
282
  this.styleOverlayCounter = 0;
283
+ // Bumped by each SetModelSpacePositioning, so an origin still resolving for an older one is dropped.
284
+ this.modelSpaceOriginRequest = 0;
282
285
  // Style records bookmark styles name by ID, loaded once each; null for one that failed to load.
283
286
  this.itemStyleRecords = new Map();
284
287
  this.itemStyleRecordsLoading = new Set();
@@ -416,9 +419,9 @@ var MenuItemManager;
416
419
  rItem.item = params.item;
417
420
  create = false;
418
421
  }
419
- // Re-init in case model-space changed to geo-spatial or vice-versa.
422
+ // Re-init in case model-space changed to geo-spatial or vice-versa, or legacy to UCS placement.
420
423
  else if (rItem.type == bruce_models_1.MenuItem.EType.CadTileset && params.item.Type == bruce_models_1.MenuItem.EType.CadTileset) {
421
- if (rItem.renderManager && rItem.renderManager.ModelSpace == params.modelSpace) {
424
+ if (this.keepsModelSpacePlacement(rItem.renderManager, params.modelSpace)) {
422
425
  create = false;
423
426
  }
424
427
  }
@@ -437,9 +440,9 @@ var MenuItemManager;
437
440
  create = false;
438
441
  }
439
442
  }
440
- // Re-init in case model-space changed to geo-spatial or vice-versa.
443
+ // Re-init in case model-space changed to geo-spatial or vice-versa, or legacy to UCS placement.
441
444
  else if (rItem.type == bruce_models_1.MenuItem.EType.Assembly && params.item.Type == bruce_models_1.MenuItem.EType.Assembly) {
442
- if (rItem.renderManager && rItem.renderManager.ModelSpace == params.modelSpace) {
445
+ if (this.keepsModelSpacePlacement(rItem.renderManager, params.modelSpace)) {
443
446
  create = false;
444
447
  }
445
448
  }
@@ -970,10 +973,25 @@ var MenuItemManager;
970
973
  isStyleSwapCapable(renderManager) {
971
974
  return Boolean(renderManager) && typeof renderManager.SwapStyle === "function";
972
975
  }
976
+ /*
977
+ * The placement an item rendered now would get, see ViewUtils.GetModelSpacePlacementKey.
978
+ */
979
+ modelSpacePlacementKey(modelSpace) {
980
+ return view_utils_1.ViewUtils.GetModelSpacePlacementKey(Boolean(modelSpace), view_utils_1.ViewUtils.GetModelSpacePositioning(this.viewer));
981
+ }
982
+ /*
983
+ * Whether a drawn CAD tileset or Assembly is already placed the way the scene now asks.
984
+ */
985
+ keepsModelSpacePlacement(manager, modelSpace) {
986
+ if (!manager) {
987
+ return false;
988
+ }
989
+ return manager.ModelSpacePlacementKey === this.modelSpacePlacementKey(modelSpace);
990
+ }
973
991
  // Resolves the hand-off key a menu item's data would have.
974
992
  computeHandoffKey(item, modelSpace) {
975
993
  if (item.Type === bruce_models_1.MenuItem.EType.CadTileset) {
976
- return tileset_cad_render_manager_1.TilesetCadRenderManager.Manager.GetHandoffKey(item, modelSpace);
994
+ return tileset_cad_render_manager_1.TilesetCadRenderManager.Manager.GetHandoffKey(item, this.modelSpacePlacementKey(modelSpace));
977
995
  }
978
996
  if (item.Type === bruce_models_1.MenuItem.EType.EntityTileset) {
979
997
  return tileset_entities_render_manager_1.TilesetEntitiesRenderManager.Manager.GetHandoffKey(item);
@@ -1084,6 +1102,131 @@ var MenuItemManager;
1084
1102
  }
1085
1103
  return authored;
1086
1104
  }
1105
+ /**
1106
+ * Changes model-space placement, re-places what is drawn and keeps the camera's view of the new origin.
1107
+ * @param positioning
1108
+ * @param items what the origin is found from, see ResolveModelSpaceOrigin. Default: what is drawn now.
1109
+ */
1110
+ async SetModelSpacePositioning(positioning, items) {
1111
+ const request = ++this.modelSpaceOriginRequest;
1112
+ const view = view_utils_1.ViewUtils.GetModelSpace(this.viewer) ? view_utils_1.ViewUtils.GetModelSpaceCamera(this.viewer) : null;
1113
+ const placed = () => this.items.filter(x => {
1114
+ var _a;
1115
+ return (x.type === bruce_models_1.MenuItem.EType.CadTileset || x.type === bruce_models_1.MenuItem.EType.Assembly) &&
1116
+ ((_a = x.renderManager) === null || _a === void 0 ? void 0 : _a.ModelSpace);
1117
+ });
1118
+ items = items !== null && items !== void 0 ? items : placed().map(x => x.item);
1119
+ const origin = positioning === view_utils_1.ViewUtils.EModelSpacePositioning.Ucs ? await this.ResolveModelSpaceOrigin(items) : null;
1120
+ if (request !== this.modelSpaceOriginRequest || this.viewer.isDestroyed()) {
1121
+ return;
1122
+ }
1123
+ view_utils_1.ViewUtils.SetModelSpacePositioning(this.viewer, positioning, origin);
1124
+ if (view) {
1125
+ view_utils_1.ViewUtils.FlyToModelSpaceCamera(this.viewer, view, 0);
1126
+ }
1127
+ // Read now, so an item rendered while the origin was found is re-placed too.
1128
+ for (const rItem of placed()) {
1129
+ this.RenderItem({ item: rItem.item, modelSpace: true, recursive: false });
1130
+ }
1131
+ }
1132
+ /**
1133
+ * Finds the point UCS model-space treats as 0,0,0, from the first of the items whose root names a place.
1134
+ * @param items menu items to look through in order, children included; other types are passed over.
1135
+ * @returns its UCS location, else its root's, else a CAD tileset's own; null when none names a place.
1136
+ */
1137
+ async ResolveModelSpaceOrigin(items) {
1138
+ var _a, _b, _c, _d, _e, _f, _g;
1139
+ const roots = await this.resolveModelSpaceRoots(items);
1140
+ for (const root of roots) {
1141
+ const location = (_e = (_c = (_b = (_a = root.coords) === null || _a === void 0 ? void 0 : _a.ucs) === null || _b === void 0 ? void 0 : _b.location) !== null && _c !== void 0 ? _c : (_d = root.coords) === null || _d === void 0 ? void 0 : _d.location) !== null && _e !== void 0 ? _e : (_g = (_f = root.tileset) === null || _f === void 0 ? void 0 : _f.settings) === null || _g === void 0 ? void 0 : _g.location;
1142
+ if (bruce_models_1.Carto.ValidateCarto(location)) {
1143
+ return location;
1144
+ }
1145
+ }
1146
+ return null;
1147
+ }
1148
+ /**
1149
+ * Works out which UCS each CAD tileset or Assembly menu item is drawn from, to tell what can share a scene.
1150
+ * @param items menu items to look at, children included; other types are left out.
1151
+ * @returns menu item ID -> the UCS Entity ID, else the root Entity ID, else null when it has no readable root.
1152
+ */
1153
+ async GetModelSpaceUcsIds(items) {
1154
+ var _a, _b;
1155
+ const ucsIds = {};
1156
+ for (const root of await this.resolveModelSpaceRoots(items)) {
1157
+ ucsIds[root.item.id] = root.rootId ? (((_b = (_a = root.coords) === null || _a === void 0 ? void 0 : _a.ucs) === null || _b === void 0 ? void 0 : _b["Entity.ID"]) || root.rootId) : null;
1158
+ }
1159
+ return ucsIds;
1160
+ }
1161
+ /*
1162
+ * Each CAD tileset and Assembly item's root and its coords, in tree order; the reads behind both lookups above.
1163
+ */
1164
+ async resolveModelSpaceRoots(items) {
1165
+ var _a, _b;
1166
+ var _c;
1167
+ const placeable = [];
1168
+ const collect = (item) => {
1169
+ var _a;
1170
+ if ((item === null || item === void 0 ? void 0 : item.Type) === bruce_models_1.MenuItem.EType.CadTileset || (item === null || item === void 0 ? void 0 : item.Type) === bruce_models_1.MenuItem.EType.Assembly) {
1171
+ placeable.push(item);
1172
+ }
1173
+ (_a = item === null || item === void 0 ? void 0 : item.Children) === null || _a === void 0 ? void 0 : _a.forEach(collect);
1174
+ };
1175
+ (items !== null && items !== void 0 ? items : []).forEach(collect);
1176
+ // Records are read from the account a CAD tileset names, as its render manager does.
1177
+ const accountOf = (item) => { var _a; return ((_a = item.tileset) === null || _a === void 0 ? void 0 : _a.ClientAccountID) || this.getters.GetAccountId(); };
1178
+ const apiOf = (accountId) => this.getters.GetBruceApi({ accountId });
1179
+ const roots = await Promise.all(placeable.map(async (item) => {
1180
+ var _a, _b;
1181
+ let rootId = null;
1182
+ let tileset = null;
1183
+ try {
1184
+ const api = apiOf(accountOf(item));
1185
+ if (item.Type === bruce_models_1.MenuItem.EType.CadTileset && ((_a = item.tileset) === null || _a === void 0 ? void 0 : _a.TilesetID)) {
1186
+ tileset = (await bruce_models_1.Tileset.Get({ api, tilesetId: item.tileset.TilesetID })).tileset;
1187
+ rootId = ((_b = tileset === null || tileset === void 0 ? void 0 : tileset.settings) === null || _b === void 0 ? void 0 : _b.rootEntityId) || null;
1188
+ }
1189
+ if (!rootId && item["Assembly.ID"]) {
1190
+ const { assembly } = await bruce_models_1.Assembly.Get({ api, assemblyId: item["Assembly.ID"], expand: false });
1191
+ rootId = (assembly === null || assembly === void 0 ? void 0 : assembly["RootEntity.ID"]) || null;
1192
+ }
1193
+ }
1194
+ catch (e) {
1195
+ console.error(e);
1196
+ }
1197
+ return { item, rootId, tileset, coords: null };
1198
+ }));
1199
+ // One read per account for every root at once, falling back to one each if the batch fails.
1200
+ const coordsByRoot = {};
1201
+ const byAccount = {};
1202
+ for (const root of roots) {
1203
+ if (root.rootId) {
1204
+ ((_a = byAccount[_c = accountOf(root.item)]) !== null && _a !== void 0 ? _a : (byAccount[_c] = new Set())).add(root.rootId);
1205
+ }
1206
+ }
1207
+ await Promise.all(Object.keys(byAccount).map(async (accountId) => {
1208
+ const api = apiOf(accountId);
1209
+ const rootIds = Array.from(byAccount[accountId]);
1210
+ try {
1211
+ const { coordsMap } = await bruce_models_1.EntityCoords.GetEntityCoords({ api, rootEntityId: rootIds });
1212
+ Object.assign(coordsByRoot, coordsMap);
1213
+ }
1214
+ catch {
1215
+ await Promise.all(rootIds.map(async (rootId) => {
1216
+ try {
1217
+ coordsByRoot[rootId] = (await bruce_models_1.EntityCoords.GetEntityCoords({ api, rootEntityId: rootId })).coords;
1218
+ }
1219
+ catch (e) {
1220
+ console.error(e);
1221
+ }
1222
+ }));
1223
+ }
1224
+ }));
1225
+ for (const root of roots) {
1226
+ root.coords = root.rootId ? (_b = coordsByRoot[root.rootId]) !== null && _b !== void 0 ? _b : null : null;
1227
+ }
1228
+ return roots;
1229
+ }
1087
1230
  GetEnabledItemIds() {
1088
1231
  return this.items.map(x => x.id);
1089
1232
  }
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item-manager.js","sourceRoot":"","sources":["../../../src/rendering/menu-item-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"menu-item-manager.js","sourceRoot":"","sources":["../../../src/rendering/menu-item-manager.ts"],"names":[],"mappings":";;;AAAA,+CAA4L;AAG5L,gGAA2F;AAC3F,8GAAwG;AAExG,yDAAqD;AACrD,wGAAkG;AAClG,4FAAuF;AACvF,sGAAgG;AAChG,gHAAkG;AAClG,4EAAwE;AACxE,8FAAyF;AACzF,kFAA8E;AAC9E,uEAAkE;AAClE,sGAAgG;AAChG,gHAA0G;AAC1G,oHAA8G;AAC9G,iHAA0G;AAC1G,sGAAgG;AAChG,+FAA0F;AAC1F,0HAAmH;AACnH,6GAAuG;AACvG,iHAA0G;AAC1G,sGAAgG;AAChG,uGAAiG;AACjG,6FAAwF;AACxF,yDAAoD;AACpD,uEAAiE;AACjE,oDAAgD;AAuBhD;;;GAGG;AACH,MAAM,gBAAgB;IAOlB,YAAmB,OAAmB;QAH9B,oBAAe,GAA+B,EAAE,CAAC;QACjD,mBAAc,GAAQ,IAAI,CAAC;QAG/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,MAAgD;QACzD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBACtB,GAAG,MAAM;gBACT,uBAAuB,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;gBAC9E,OAAO;gBACP,MAAM;aACT,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBACtB,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;aAC/F;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,KAAa;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAChF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACvF,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE;YAC3B,OAAO,CAAC,OAAO,CAAC;gBACZ,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;SACN;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE;YACrD,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC9B;IACL,CAAC;IAEM,OAAO;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC9B;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,OAAO,CAAC,OAAO,CAAC;gBACZ,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;SACN;IACL,CAAC;IAEO,KAAK;QACT,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAClB,OAAO;SACV;QAED,MAAM,iBAAiB,GAA4C,EAAE,CAAC;QACtE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE;gBACrD,iBAAiB,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC;aAC3D;YACD,iBAAiB,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACpE;QAED,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE;YACvC,MAAM,eAAe,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,CAAC,cAAc,EAAE;gBAC9E,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBAC5E,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACnD,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE;wBACzB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;qBACrB;gBACL,CAAC,CAAC,CAAC;aACN;SACJ;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,eAAuB,EAAE,QAAoC;QAC3F,MAAM,eAAe,GAA+B,EAAE,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAEjD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7C,IAAI;gBACA,MAAM,SAAS,GAAG,MAAM,sBAAO,CAAC,OAAO,CAAC,eAAe,CAAC;oBACpD,eAAe;oBACf,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,YAAY;oBACZ,OAAO,EAAE,IAAI,CAAC,OAAO;iBACxB,CAAC,CAAC;gBACH,IAAI,SAAS,EAAE;oBACX,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACjC;qBACI;oBACD,OAAO,CAAC,OAAO,CAAC;wBACZ,SAAS,EAAE,KAAK;qBACnB,CAAC,CAAC;iBACN;aACJ;YACD,OAAO,CAAC,EAAE;gBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,OAAO,CAAC,OAAO,CAAC;oBACZ,SAAS,EAAE,KAAK;iBACnB,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;YACzB,OAAO;SACV;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACjC,SAAS,EAAE,eAAe;SAC7B,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1F,MAAM,WAAW,GAAkC,EAAE,CAAC;QAEtD,IAAI;YACA,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,sBAAO,CAAC,OAAO,CAAC;gBACvC,GAAG;gBACH,UAAU;gBACV,cAAc,EAAE,IAAI;aACvB,CAAC,CAAC;YACH,KAAK,MAAM,OAAO,IAAI,QAAQ,IAAI,EAAE,EAAE;gBAClC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,EAAE;oBACb,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;iBACrC;aACJ;SACJ;QACD,OAAO,CAAC,EAAE;YACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACpB;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,eAAe;aACnD,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;aACvD,GAAG,CAAC,OAAO,CAAC,EAAE,eAAC,OAAA,OAAO,CAAC,MAAM,KAAI,MAAC,MAAA,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,0CAAE,QAAkC,0CAAE,YAAY,CAAA,CAAA,EAAA,CAAC;aACnH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAElC,IAAI,SAAS,GAA4C,EAAE,CAAC;QAC5D,IAAI,aAAa,CAAC,MAAM,EAAE;YACtB,IAAI;gBACA,SAAS,GAAG,CAAC,MAAM,2BAAY,CAAC,eAAe,CAAC;oBAC5C,GAAG;oBACH,YAAY,EAAE,aAAa;iBAC9B,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;aACvB;YACD,OAAO,CAAC,EAAE;gBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACpB;SACJ;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;;YACpD,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,EAAE;gBACV,IAAI;oBACA,OAAO,GAAG,CAAC,MAAM,sBAAO,CAAC,GAAG,CAAC;wBACzB,GAAG;wBACH,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC/B,CAAC,CAAC,CAAC,OAAO,CAAC;iBACf;gBACD,OAAO,CAAC,EAAE;oBACN,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAClB,OAAO;iBACV;aACJ;YACD,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,CAAC,OAAO,CAAC;oBACZ,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE,IAAI;iBAChB,CAAC,CAAC;gBACH,OAAO;aACV;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAI,MAAC,OAAO,CAAC,QAAkC,0CAAE,YAAY,CAAA,CAAC;YAC3F,OAAO,CAAC,OAAO,CAAC;gBACZ,SAAS,EAAE,IAAI;gBACf,OAAO;gBACP,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;aAC5C,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;;AAzLuB,qCAAoB,GAAG,GAAG,AAAN,CAAO;AAC3B,+BAAc,GAAG,EAAE,AAAL,CAAM;AA2LhD;;GAEG;AACH,IAAiB,eAAe,CA2tC/B;AA3tCD,WAAiB,eAAe;IAS5B,MAAa,OAAO;QAEhB,IAAW,OAAO;YACd,OAAO,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,IAAW,MAAM;YACb,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;QAaD,IAAW,YAAY;YACnB,OAAO,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;QAED,IAAW,eAAe;YACtB,OAAO,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC;QAED,IAAW,QAAQ;YACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAU,EAAmB,CAAC;aACrD;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QAKD,IAAW,eAAe;YACtB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACvB,IAAI,CAAC,eAAe,GAAG,IAAI,yBAAU,EAAiB,CAAC;aAC1D;YACD,OAAO,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC;QACD;;WAEG;QACI,iBAAiB,CAAC,MAAc;YACnC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjD,CAAC;QAED;;;WAGG;QACI,mBAAmB,CAAC,MAAc,EAAE,OAAuB;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;gBACZ,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE;oBACvI,OAAO,CAAC,SAAS;iBACpB;gBACD,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;aAC3B;iBACI;gBACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1B;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;QAED;;WAEG;QACI,mBAAmB,CAAC,MAAc;YACrC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBACpC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;aAC1D;QACL,CAAC;QAMD,IAAW,UAAU;YACjB,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QAGD,IAAW,OAAO;YACd,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;QAED,YAAmB,MAMlB;YA5FO,UAAK,GAAoB,EAAE,CAAC;YAC5B,uBAAkB,GAAoB,EAAE,CAAC;YACjD,8FAA8F;YACtF,yBAAoB,GAAG,IAAI,OAAO,EAAkC,CAAC;YAC7E,oGAAoG;YAC5F,iBAAY,GAAiC,IAAI,CAAC;YAClD,wBAAmB,GAAG,CAAC,CAAC;YAChC,qGAAqG;YAC7F,4BAAuB,GAAG,CAAC,CAAC;YACpC,gGAAgG;YACxF,qBAAgB,GAAG,IAAI,GAAG,EAAwC,CAAC;YACnE,4BAAuB,GAAG,IAAI,GAAG,EAAU,CAAC;YAQ5C,aAAQ,GAAqC,IAAI,CAAC;YAQ1D,+CAA+C;YACvC,mBAAc,GAAG,IAAI,GAAG,EAA4B,CAAC;YACrD,oBAAe,GAAmC,IAAI,CAAC;YAgE3D,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;YAClD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,GAAG,0BAAW,CAAC,GAAG,EAAE,CAAC;aAC/B;YACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,eAAe,EAAE;gBAClB,eAAe,GAAG,IAAI,kCAAe,CAAC,QAAQ,CAAC;oBAC3C,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,UAAU,EAAE,OAAO;iBACtB,CAAC,CAAC;aACN;YACD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;YACvC,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CAAC,KAAK,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,GAAG,IAAI,+CAAqB,CAAC,KAAK,EAAE,CAAC;YACxD,IAAI,CAAC,UAAU,GAAG,oCAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,GAAG,IAAI,uCAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC;QAED;;;WAGG;QACI,OAAO,CAAC,MAGd;;YACG,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;YAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI;oBACA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,EAAE,CAAC;iBACjC;gBACD,OAAO,CAAC,EAAE;oBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACpB;aACJ;YACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAChC,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,EAAE,CAAC;YAC9B,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,EAAE,CAAC;YAE/B,IAAI,IAAI,CAAC,eAAe,IAAI,eAAe,IAAI,KAAK,EAAE;gBAClD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;aAClC;QACL,CAAC;QAED;;;;;WAKG;QACI,UAAU,CAAC,MAcjB;;YACG,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;gBAC3B,OAAO,IAAI,CAAC;aACf;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBACjB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;aACjC;YACD,uCAAuC;YACvC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBACjB,MAAM,CAAC,OAAO,GAAG,0BAAW,CAAC,GAAG,EAAE,CAAC;aACtC;YACD,uCAAuC;YACvC,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;aACjC;YACD,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACnC,OAAO,CAAC,IAAI,CAAC,yIAAyI,CAAC,CAAC;aAC3J;iBACI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;gBACxB,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;aACtD;YACD,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE;gBAC3B,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;aAC7B;YACD,iGAAiG;YACjG,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,iCAAc,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClE,+EAA+E;YAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3E,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,8CAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;YAEhF,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,MAAM,GAAG,IAAI,CAAC;YAElB,gEAAgE;YAChE,IAAI,KAAK,EAAE;gBACP,qGAAqG;gBACrG,MAAM,QAAQ,GAAG,8CAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACzD,MAAM,QAAQ,GAAG,iCAAc,CAAC,iBAAiB,CAAC,8CAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACpG,MAAM,WAAW,GAAG,QAAQ,IAAI,8CAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3F,IAAI,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;oBAC7D,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC3C,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;oBACzB,MAAM,GAAG,KAAK,CAAC;iBAClB;gBACD,wEAAwE;gBACxE,0FAA0F;qBACrF,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAC1F,KAAK,CAAC,aAA+C,CAAC,IAAI,CAAC;wBACxD,IAAI,EAAE,MAAM,CAAC,IAA+B;qBAC/C,CAAC,CAAC;oBACH,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;oBACzB,MAAM,GAAG,KAAK,CAAC;iBAClB;gBACD,0DAA0D;gBAC1D,0EAA0E;qBACrE,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,aAAa,EAAE;oBACpG,KAAK,CAAC,aAAsD,CAAC,IAAI,CAAC;wBAC/D,IAAI,EAAE,MAAM,CAAC,IAAsC;qBACtD,CAAC,CAAC;oBACH,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;oBACzB,MAAM,GAAG,KAAK,CAAC;iBAClB;gBACD,gEAAgE;gBAChE,gGAAgG;gBAChG,qGAAqG;qBAChG,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,SAAS,EAAE;oBAC5F,KAAK,CAAC,aAAsD,CAAC,IAAI,CAAC;wBAC/D,IAAI,EAAE,MAAM,CAAC,IAA0C;qBAC1D,CAAC,CAAC;oBACH,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;oBACzB,MAAM,GAAG,KAAK,CAAC;iBAClB;gBACD,gEAAgE;gBAChE,gGAAgG;qBAC3F,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,aAAa,EAAE;oBACpG,KAAK,CAAC,aAAgD,CAAC,IAAI,CAAC;wBACzD,IAAI,EAAE,MAAM,CAAC,IAAoC;qBACpD,CAAC,CAAC;oBACH,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;oBACzB,MAAM,GAAG,KAAK,CAAC;iBAClB;gBACD,gGAAgG;qBAC3F,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE;oBAC/F,IAAI,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,aAAgD,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE;wBAC1G,MAAM,GAAG,KAAK,CAAC;qBAClB;iBACJ;qBACI,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE;oBAC/F,IAAI,KAAK,CAAC,aAAa,EAAE;wBACrB,MAAM,GAAG,KAAK,CAAC;qBAClB;iBACJ;qBACI,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE;oBAC/F,IAAI,KAAK,CAAC,aAAa,EAAE;wBACrB,MAAM,GAAG,KAAK,CAAC;qBAClB;iBACJ;qBACI,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE;oBAC/F,IAAI,KAAK,CAAC,aAAa,EAAE;wBACrB,MAAM,GAAG,KAAK,CAAC;qBAClB;iBACJ;gBACD,gGAAgG;qBAC3F,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAC3F,IAAI,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,aAA8C,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE;wBACxG,MAAM,GAAG,KAAK,CAAC;qBAClB;iBACJ;gBACD,8CAA8C;gBAC9C,sCAAsC;qBACjC,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,kBAAkB,EAAE;oBAC/G,IAAI,KAAK,CAAC,aAAa,EAAE;wBACpB,KAAK,CAAC,aAA0D,CAAC,IAAI,CAAC;4BACnE,IAAI,EAAE,MAAM,CAAC,IAAyC;yBACzD,CAAC,CAAC;wBACH,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;wBACzB,MAAM,GAAG,KAAK,CAAC;qBAClB;iBACJ;qBACI,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;oBACjF,mEAAmE;oBACnE,MAAM,cAAc,GAAG,KAAK,CAAC,aAAgD,CAAC;oBAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,IAA0B,CAAC;oBAChD,IAAI,cAAc,IAAI,KAAK,EAAE;wBACzB,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,WAAW,0CAAE,QAAQ,CAAA,IAAI,cAAc,CAAC,YAAY,KAAI,MAAA,KAAK,CAAC,WAAW,0CAAG,eAAe,CAAC,CAAA,EAAE;4BACjI,cAAc,CAAC,IAAI,CAAC;gCAChB,IAAI,EAAE,KAAK;6BACd,CAAC,CAAC;4BACH,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;4BACzB,MAAM,GAAG,KAAK,CAAC;yBAClB;qBACJ;iBACJ;qBACI,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,WAAW,EAAE;oBACjG,2BAA2B;oBAC3B,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAiD,CAAC;oBAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAgC,CAAC;oBACzD,IAAI,iBAAiB,IAAI,QAAQ,EAAE;wBAC/B,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC;wBAC/C,MAAM,UAAU,GAAG,MAAA,QAAQ,CAAC,WAAW,0CAAE,SAAS,CAAC;wBACnD,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7D,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7D,IAAI,aAAa,IAAI,aAAa,EAAE;4BAChC,iBAAiB,CAAC,IAAI,CAAC;gCACnB,IAAI,EAAE,QAAQ;6BACjB,CAAC,CAAC;4BACH,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;4BACzB,MAAM,GAAG,KAAK,CAAC;yBAClB;qBACJ;iBACJ;qBACI,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;oBACrC,MAAM,GAAG,IAAI,CAAC;iBACjB;gBAED,IAAI,MAAM,EAAE;oBACR,IAAI;wBACA,MAAA,KAAK,CAAC,aAAa,0CAAE,OAAO,EAAE,CAAC;qBAClC;oBACD,OAAO,CAAC,EAAE;wBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACpB;oBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;iBAC1D;aACJ;YAED,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,KAAK,EAAE;oBACR,KAAK,GAAG;wBACJ,EAAE,EAAE,MAAA,MAAM,CAAC,IAAI,CAAC,EAAE,mCAAI,0BAAW,CAAC,GAAG,EAAE;wBACvC,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,aAAa,EAAE,IAAI;wBACnB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;wBACtB,MAAM,EAAE,EAAE;qBACb,CAAA;iBACJ;qBACI;oBACD,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;oBACzB,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC9B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC3B,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;iBACrB;gBAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;oBACnB,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,uBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;iBAC1C;gBACD,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;oBACtB,KAAK,uBAAQ,CAAC,KAAK,CAAC,QAAQ;wBACxB,KAAK,CAAC,aAAa,GAAG,IAAI,+CAAqB,CAAC,OAAO,CAAC;4BACpD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,IAAI,EAA2B,MAAM,CAAC,IAAI;4BAC1C,aAAa,EAAE,IAAI,CAAC,aAAa;4BACjC,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC;4BAC5E,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC9B,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,cAAc;wBAC9B,KAAK,CAAC,aAAa,GAAG,IAAI,4DAA2B,CAAC,OAAO,CAAC;4BAC1D,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,IAAI,EAAiC,MAAM,CAAC,IAAI;4BAChD,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC9B,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,WAAW;wBAC3B,KAAK,CAAC,aAAa,GAAG,IAAI,sDAAwB,CAAC,OAAO,CAAC;4BACvD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,IAAI,EAA4B,MAAM,CAAC,IAAI;4BAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;4BACnC,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC9B,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,MAAM;wBACtB,KAAK,CAAC,aAAa,GAAG,IAAI,2CAAmB,CAAC,OAAO,CAAC;4BAClD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,IAAI,EAAyB,MAAM,CAAC,IAAI;4BACxC,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC9B,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU;wBAC1B,KAAK,CAAC,aAAa,GAAG,IAAI,oDAAuB,CAAC,OAAO,CAAC;4BACtD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,IAAI,EAA6B,MAAM,CAAC,IAAI;4BAC5C,UAAU,EAAE,MAAM,CAAC,UAAU;4BAC7B,SAAS,EAAE,IAAI,CAAC,gBAAgB;4BAChC,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC9B,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,QAAQ;wBACxB,KAAK,CAAC,aAAa,GAAG,IAAI,+CAAqB,CAAC,OAAO,CAAC;4BACpD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,IAAI,EAA2B,MAAM,CAAC,IAAI;4BAC1C,UAAU,EAAE,MAAM,CAAC,UAAU;4BAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC9B,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,GAAG;wBACnB,KAAK,CAAC,aAAa,GAAG,IAAI,oDAAuB,CAAC,OAAO,CAAC;4BACtD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,IAAI,EAAsB,MAAM,CAAC,IAAI;yBACxC,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU;wBAC1B,KAAK,CAAC,aAAa,GAAG,IAAI,kEAA8B,CAAC,OAAO,CAAC;4BAC7D,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,IAAI,EAA6B,MAAM,CAAC,IAAI;4BAC5C,SAAS,EAAE,IAAI,CAAC,gBAAgB;yBACnC,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,aAAa;wBAC7B,KAAK,CAAC,aAAa,GAAG,IAAI,8DAA4B,CAAC,OAAO,CAAC;4BAC3D,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,IAAI,EAAkC,MAAM,CAAC,IAAI;4BACjD,SAAS,EAAE,IAAI,CAAC,gBAAgB;4BAChC,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC9B,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,GAAG;wBACnB,KAAK,CAAC,aAAa,GAAG,IAAI,2DAA0B,CAAC,OAAO,CAAC;4BACzD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,IAAI,EAAsB,MAAM,CAAC,IAAI;yBACxC,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,GAAG;wBACnB,KAAK,CAAC,aAAa,GAAG,IAAI,2DAA0B,CAAC,OAAO,CAAC;4BACzD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,IAAI,EAAsB,MAAM,CAAC,IAAI;4BACrC,QAAQ,EAAE,IAAI,CAAC,eAAe;yBACjC,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;oBAC/B,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU;wBAC1B,KAAK,CAAC,aAAa,GAAG,IAAI,oDAAuB,CAAC,OAAO,CAAC;4BACtD,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,IAAI,EAA6B,MAAM,CAAC,IAAI;4BAC5C,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC9B,CAAC,CAAC;wBACH,MAAM;oBACV,gEAAgE;oBAChE,6BAA6B;oBAC7B,KAAK,uBAAQ,CAAC,KAAK,CAAC,SAAS;wBACzB,KAAK,CAAC,aAAa,GAAG,IAAI,8DAA4B,CAAC,OAAO,CAAC;4BAC3D,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,IAAI,EAAE,MAAM,CAAC,IAAW;4BACxB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC9B,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,aAAa;wBAC7B,KAAK,CAAC,aAAa,GAAG,IAAI,iDAAsB,CAAC,OAAO,CAAC;4BACrD,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,IAAI,EAAE,MAAM,CAAC,IAAW;4BACxB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC9B,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,kBAAkB;wBAClC,KAAK,CAAC,aAAa,GAAG,IAAI,uEAAgC,CAAC,OAAO,CAAC;4BAC/D,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,IAAI,EAAE,MAAM,CAAC,IAAW;4BACxB,MAAM,EAAE,IAAI,CAAC,MAAM;yBACtB,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU;wBAC1B,KAAK,CAAC,aAAa,GAAG,IAAI,oDAAuB,CAAC,OAAO,CAAC;4BACtD,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,IAAI,EAAE,MAAM,CAAC,IAAW;4BACxB,MAAM,EAAE,IAAI,CAAC,MAAM;yBACtB,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,YAAY;wBAC5B,KAAK,CAAC,aAAa,GAAG,IAAI,wDAAyB,CAAC,OAAO,CAAC;4BACxD,IAAI,EAAE,MAAM,CAAC,IAAW;4BACxB,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,OAAO,EAAE,MAAM,CAAC,OAAO;yBAC1B,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,OAAO;wBACvB,KAAK,CAAC,aAAa,GAAG,IAAI,sDAAoB,CAAC,OAAO,CAAC;4BACnD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,IAAI,EAAE,MAAM,CAAC,IAAW;4BACxB,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;4BACrC,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC9B,CAAC,CAAC;wBACH,MAAM;oBACV,6EAA6E;oBAC7E,KAAK,uBAAQ,CAAC,KAAK,CAAC,IAAI;wBACpB,MAAM;oBACV;wBACI,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC7E;gBAED,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;oBACtD,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;oBACxG,IAAI;wBACA,IAAI,cAAc,EAAE;4BACf,KAAK,CAAC,aAA2D,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;yBACnG;6BACI;4BACD,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;yBAC9B;qBACJ;oBACD,OAAO,CAAC,EAAE;wBACN,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACxB;iBACJ;aACJ;YACD,uEAAuE;YACvE,kDAAkD;YAClD,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YAC9E,MAAM,aAAa,GAAG,QAAQ,IAAI,OAAO,CAAE,MAAM,CAAC,IAA8B,CAAC,gBAAgB,CAAC,CAAC;YACnG,IAAI,CAAA,MAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,0CAAE,MAAM,KAAI,MAAM,CAAC,SAAS,IAAI,KAAK,IAAI,aAAa,EAAE;gBAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrG,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC9E,GAAG,MAAM;oBACT,IAAI,EAAE,MAAM;iBACf,CAAC,CAAC,CAAC;gBACJ,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C;iBACI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,IAAI,KAAK,IAAI,QAAQ,EAAE;gBACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAClD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;wBAC5B,GAAG,MAAM;wBACT,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;qBAChC,CAAC,CAAC;oBACH,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAChC;aACJ;YACD,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,aAAa,0CAAE,QAAQ,CAAA,EAAE;gBACvD,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;aAClE;YACD,OAAO,KAAK,CAAC,EAAE,CAAC;QACpB,CAAC;QAED;;;;WAIG;QACI,cAAc,CAAC,MAOrB;;YACG,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;YACzD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;gBAC3B,OAAO;aACV;YACD,IAAI,SAAS,IAAI,IAAI,EAAE;gBACnB,SAAS,GAAG,IAAI,CAAC;aACpB;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/C,IAAI,IAAI,EAAE;gBACN,IAAI,SAAS,EAAE;oBACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9D,IAAI,KAAK,EAAE;4BACP,IAAI,CAAC,cAAc,CAAC;gCAChB,UAAU,EAAE,KAAK,CAAC,EAAE;gCACpB,YAAY;6BACf,CAAC,CAAC;yBACN;qBACJ;iBACJ;gBACD,IAAI,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;oBAC3D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnC,gFAAgF;oBAChF,sEAAsE;iBACzE;qBACI;oBACD,IAAI;wBACA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,EAAE,CAAC;qBACjC;oBACD,OAAO,CAAC,EAAE;wBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACpB;oBACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACrC;gBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjD,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;aAClE;QACL,CAAC;QAED;;WAEG;QACI,QAAQ,CAAC,MAIf;YACG,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpF,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3D,IAAI;gBACJ,UAAU;aACb,CAAC,CAAC,CAAC;YACJ,+EAA+E;YAC/E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/D,MAAM,CAAC,QAAQ,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aACvE;YACD,OAAO,EAAE,CAAC;QACd,CAAC;QAED;;WAEG;QACI,YAAY,CAAC,MAGnB;;YACG,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;gBACzF,OAAO,KAAK,CAAC;aAChB;YACD,MAAM,MAAM,GAAG,iCAAc,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO,KAAK,CAAC;aAChB;YACD,wGAAwG;YACxG,MAAM,MAAM,GAAG,8CAAoB,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,8CAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACpG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED;;WAEG;QACI,KAAK,CAAC,eAAe,CAAC,MAGrB;;YACJ,MAAM,OAAO,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC;YAC3C,IAAI,OAAO,GAAiC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,IAAI,CAAC;YAClE,IAAI,CAAC,OAAO,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,EAAE,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE;gBACtF,kEAAkE;gBAClE,IAAI;oBACA,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,oBAAK,CAAC,GAAG,CAAC;wBAC9B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;wBAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;qBAC1B,CAAC,CAAC;oBACH,OAAO,GAAG,MAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAkC,mCAAI,IAAI,CAAC;iBAChE;gBACD,OAAO,CAAC,EAAE;oBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACpB;aACJ;YACD,4CAA4C;YAC5C,IAAI,OAAO,KAAK,IAAI,CAAC,mBAAmB,EAAE;gBACtC,OAAO;aACV;YACD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC5B,MAAM,IAAI,GAAG,8CAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClG,oFAAoF;gBACpF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,8CAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,8CAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1H,IACI,SAAS;oBACT,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC;oBAC7C,KAAK,CAAC,aAAa,CAAC,QAAQ,EAC9B;oBACE,SAAS;iBACZ;gBACD,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACpC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;gBAClB,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;aAClE;QACL,CAAC;QAED;;WAEG;QACI,mBAAmB,CAAC,MAI1B;;YACG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC;YAC/D,IAAI,SAAS,GAA2C,IAAI,CAAC;YAC7D,IAAI,MAAM,CAAC,KAAK,EAAE;gBACd,SAAS,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;aACvC;iBACI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAC7B,SAAS,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;aAC3C;YACD,IACI,CAAC,KAAK;gBACN,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC7C,KAAK,CAAC,aAAa,CAAC,QAAQ;gBAC5B,CAAC,SAAS,IAAI,CAAC,8CAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC3D;gBACE,OAAO,KAAK,CAAC;aAChB;YACD,MAAM,MAAM,GAAG,8CAAoB,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACzE,MAAM,IAAI,GAAG,8CAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACpG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED;;WAEG;QACK,mBAAmB,CAAC,IAAoB,EAAE,OAA8B;YAC5E,MAAM,OAAO,GAAG,8CAAoB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,8CAAoB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC3G,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;gBAChE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;aACrC;YACD,MAAM,MAAM,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnF,OAAO,8CAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,SAAS,CAAC,CAAC;QAC9E,CAAC;QAED;;WAEG;QACK,KAAK,CAAC,mBAAmB,CAAC,OAAwB;;YACtD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACvC,OAAO;aACV;YACD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,QAAQ,GAAiC,IAAI,CAAC;YAClD,gEAAgE;YAChE,IAAI;gBACA,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,oBAAK,CAAC,GAAG,CAAC;oBAC9B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;oBAC/B,OAAO;iBACV,CAAC,CAAC;gBACH,QAAQ,GAAG,MAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAkC,mCAAI,IAAI,CAAC;aACjE;YACD,OAAO,CAAC,EAAE;gBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACpB;YACD,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACzC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC5B,IACI,MAAM,CAAC,8CAAoB,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG;oBAC/D,8CAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;oBAC7C,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC;oBAC7C,KAAK,CAAC,aAAa,CAAC,QAAQ,EAC9B;oBACE,SAAS;iBACZ;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1E,MAAM,IAAI,GAAG,8CAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC9D,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACpC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;gBAClB,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;aAClE;QACL,CAAC;QAED;;WAEG;QACK,cAAc,CAAC,QAA0B,EAAE,YAAuB;;YACtE,OAAO,CACH,MAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,mCAChD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,mCACvD,QAAQ,CAAC,CAAC,CAAC,CACd,CAAC;QACN,CAAC;QAED;;WAEG;QACK,eAAe,CAAC,SAAmB,EAAE,MAAoB;YAC7D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACtD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE;gBACxB,IAAI,CAAC,cAAc,CAAC;oBAChB,UAAU,EAAE,EAAE;oBACd,YAAY,EAAE,IAAI;iBACrB,CAAC,CAAC;aACN;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI;gBACA,OAAO,MAAM,EAAE,CAAC;aACnB;oBACO;gBACJ,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/C;QACL,CAAC;QAEO,gBAAgB,CAAC,aAAqC;YAC1D,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,OAAQ,aAAqB,CAAC,cAAc,KAAK,UAAU,CAAC;QACjG,CAAC;QAEO,kBAAkB,CAAC,aAAqC;YAC5D,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,OAAQ,aAAqB,CAAC,SAAS,KAAK,UAAU,CAAC;QAC5F,CAAC;QAED;;WAEG;QACK,sBAAsB,CAAC,UAAoB;YAC/C,OAAO,sBAAS,CAAC,yBAAyB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,sBAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACrH,CAAC;QAED;;WAEG;QACK,wBAAwB,CAC5B,OAAwE,EACxE,UAAoB;YAEpB,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,KAAK,CAAC;aAChB;YACD,OAAO,OAAO,CAAC,sBAAsB,KAAK,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACtF,CAAC;QAED,2DAA2D;QACnD,iBAAiB,CAAC,IAAoB,EAAE,UAAoB;YAChE,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE;gBACzC,OAAO,oDAAuB,CAAC,OAAO,CAAC,aAAa,CAAC,IAAiC,EAAE,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC;aACpI;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,aAAa,EAAE;gBAC5C,OAAO,8DAA4B,CAAC,OAAO,CAAC,aAAa,CAAC,IAAsC,CAAC,CAAC;aACrG;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE;gBACzC,OAAO,kEAA8B,CAAC,OAAO,CAAC,aAAa,CAAC,IAAiC,CAAC,CAAC;aAClG;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBACjD,OAAO,uEAAgC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;aACnE;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;gBAClC,OAAO,oDAAuB,CAAC,OAAO,CAAC,aAAa,CAAC,IAA0B,CAAC,CAAC;aACpF;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACvC,OAAO,+CAAqB,CAAC,OAAO,CAAC,aAAa,CAAC,IAA+B,CAAC,CAAC;aACvF;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;gBACtC,OAAO,sDAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,IAA8B,CAAC,CAAC;aACrF;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,sFAAsF;QACtF,mEAAmE;QAC3D,sBAAsB,CAAC,IAAoB,EAAE,UAAkC,EAAE,UAAoB;YACzG,IAAI,OAAQ,UAAkB,CAAC,YAAY,KAAK,UAAU,EAAE;gBACxD,OAAO,IAAI,CAAC;aACf;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACrD,IAAI,CAAC,GAAG,EAAE;gBACN,OAAO,IAAI,CAAC;aACf;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACzD,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;gBACzB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC3C,MAAM,CAAC,aAAa,CAAC,UAAU,KAAK,GAAG,CAC1C,CAAC;YACF,IAAI,SAAS,GAAG,CAAC,EAAE;gBACf,OAAO,IAAI,CAAC;aACf;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,UAAU,CAAC,aAAgE,CAAC;YAC3F,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,IAAI,CAAC;aACf;YACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACpD,OAAO,OAAO,CAAC;QACnB,CAAC;QAED;;;;WAIG;QACK,sBAAsB,CAAC,UAAkB,EAAE,QAAgB;YAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,EAAE;gBACnB,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBACrC,OAAO;aACV;YACD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE;oBAC9C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC1B;aACJ;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,mEAAmE;QAC5D,oBAAoB;YACvB,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAEO,aAAa,CAAC,KAAuC;;YACzD,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;gBACjC,OAAO;aACV;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;gBACrB,IAAI;oBACA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,EAAE,CAAC;iBACjC;gBACD,OAAO,CAAC,EAAE;oBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACpB;gBACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACrC;QACL,CAAC;QAED;;WAEG;QACI,sBAAsB,CAAC,IAAoB;;YAC9C,IAAI,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,EAAE;gBACX,MAAM,KAAK,GAAG,IAA+B,CAAC;gBAC9C,MAAM,KAAK,GAAG,IAAsC,CAAC;gBACrD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;oBACjC,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,EAAE,oBAAoB,EAAE,MAAA,KAAK,CAAC,WAAW,0CAAE,oBAAoB,EAAE;oBAC9E,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;iBACvC,CAAC,CAAC,CAAC;gBACJ,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aACjD;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED;;;;WAIG;QACI,KAAK,CAAC,wBAAwB,CAAC,WAA6C,EAAE,KAAwB;YACzG,MAAM,OAAO,GAAG,EAAE,IAAI,CAAC,uBAAuB,CAAC;YAC/C,MAAM,IAAI,GAAG,sBAAS,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,sBAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtG,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;;gBACvC,OAAA,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;qBAC5E,MAAC,CAAC,CAAC,aAAiF,0CAAE,UAAU,CAAA,CAAA;aAAA,CACnG,CAAC;YACF,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,WAAW,KAAK,sBAAS,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvH,IAAI,OAAO,KAAK,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;gBACvE,OAAO;aACV;YACD,sBAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YACrE,IAAI,IAAI,EAAE;gBACN,sBAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;aACzD;YACD,6EAA6E;YAC7E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,EAAE;gBAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;aAC7E;QACL,CAAC;QAED;;;;WAIG;QACI,KAAK,CAAC,uBAAuB,CAAC,KAAuB;;YACxD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,MAAM,QAAQ,GAAG,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,GAAG,0CAAE,QAAQ,mCAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,mCAAI,MAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAkC,0CAAE,QAAQ,CAAC;gBACpI,IAAI,oBAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;oBAC/B,OAAO,QAAQ,CAAC;iBACnB;aACJ;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED;;;;WAIG;QACI,KAAK,CAAC,mBAAmB,CAAC,KAAuB;;YACpD,MAAM,MAAM,GAA+B,EAAE,CAAC;YAC9C,KAAK,MAAM,IAAI,IAAI,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE;gBACzD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,GAAG,0CAAG,WAAW,CAAC,KAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aAChG;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QAED;;WAEG;QACK,KAAK,CAAC,sBAAsB,CAAC,KAAuB;;;YAMxD,MAAM,SAAS,GAA8B,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,CAAC,IAAoB,EAAE,EAAE;;gBACrC,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,uBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE;oBACpF,SAAS,CAAC,IAAI,CAAC,IAA+B,CAAC,CAAC;iBACnD;gBACD,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC,CAAC;YACF,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE/B,qFAAqF;YACrF,MAAM,SAAS,GAAG,CAAC,IAA6B,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,KAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA,EAAA,CAAC;YAClH,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;;gBACzD,IAAI,MAAM,GAAkB,IAAI,CAAC;gBACjC,IAAI,OAAO,GAA4B,IAAI,CAAC;gBAC5C,IAAI;oBACA,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBACnC,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU,KAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS,CAAA,EAAE;wBACpE,OAAO,GAAG,CAAC,MAAM,sBAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;wBAClF,MAAM,GAAG,CAAA,MAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAkC,0CAAE,YAAY,KAAI,IAAI,CAAC;qBAC/E;oBACD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE;wBAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,uBAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;wBACjG,MAAM,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,eAAe,CAAC,KAAI,IAAI,CAAC;qBAChD;iBACJ;gBACD,OAAO,CAAC,EAAE;oBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACpB;gBACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAyC,EAAE,CAAC;YACxF,CAAC,CAAC,CAAC,CAAC;YAEJ,4FAA4F;YAC5F,MAAM,YAAY,GAA4C,EAAE,CAAC;YACjE,MAAM,SAAS,GAA6B,EAAE,CAAC;YAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,IAAI,CAAC,MAAM,EAAE;oBACb,OAAC,SAAS,MAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,qCAA9B,SAAS,OAA2B,IAAI,GAAG,EAAE,EAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACpE;aACJ;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;gBAC7D,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;gBACjD,IAAI;oBACA,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,2BAAY,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;oBACzF,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;iBAC1C;gBACD,MAAM;oBACF,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;wBAC3C,IAAI;4BACA,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,2BAAY,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;yBACrG;wBACD,OAAO,CAAC,EAAE;4BACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;yBACpB;oBACL,CAAC,CAAC,CAAC,CAAC;iBACP;YACL,CAAC,CAAC,CAAC,CAAC;YACJ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAA,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,mCAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aACxE;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;QAEM,iBAAiB;YACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;QAEM,cAAc,CAAC,EAAU;YAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED;;;;;WAKG;QACI,KAAK,CAAC,QAAQ,CAAC,MAQrB;YACG,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;YACnE,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,EAAE;gBACzC,OAAO;aACV;YACD,IAAI,CAAC,SAAS,IAAI,QAAQ,EAAE;gBACxB,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,KAAK,0CAAE,EAAE,CAAA,EAAA,CAAC,CAAC;aAC9C;YACD,MAAM,KAAK,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACpG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,IAAI,CAAC,aAAa,EAAE;oBACpB,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;wBAC9B,SAAS;wBACT,QAAQ;wBACR,KAAK;wBACL,QAAQ;qBACX,CAAC,CAAC;iBACN;aACJ;QACL,CAAC;QAED;;;;;;;WAOG;QACI,KAAK,CAAC,QAAQ,CAAC,MAMrB;YACG,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG;gBACd,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,0CAAE,EAAE,CAAA,EAAA,CAAC;gBAC1C,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,0CAAE,EAAE,CAAA,EAAA,CAAC;gBACzC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,CAAC;aAC3C,CAAC;YACF,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC;QAED;;;;;WAKG;QACI,KAAK,CAAC,eAAe,CAAC,MAM5B;;YACG,MAAM,SAAS,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,mCAAI;gBACnC,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;gBACjC,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE;aAC1C,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,CAAC,CAAC;YAC7G,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAC,CAAC;QACjE,CAAC;QAED;;WAEG;QACK,KAAK,CAAC,iBAAiB,CAAC,SAAmB,EAAE,WAAsB;YACvE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBACb,OAAO;aACV;YACD,MAAM,KAAK,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACpG,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,6FAA6F;gBAC7F,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE;oBAC7D,SAAS;iBACZ;gBACD,MAAM,KAAK,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM;oBAC7B,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC5F,IAAI,KAAK,CAAC,MAAM,EAAE;oBACd,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxE;aACJ;QACL,CAAC;KACJ;IAjtCY,uBAAO,UAitCnB,CAAA;AACL,CAAC,EA3tCgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QA2tC/B"}
@@ -32,6 +32,9 @@ var AssemblyRenderManager;
32
32
  get ModelSpace() {
33
33
  return this.modelSpace;
34
34
  }
35
+ get ModelSpacePlacementKey() {
36
+ return view_utils_1.ViewUtils.GetModelSpacePlacementKey(this.modelSpace, this.modelSpaceUcs ? view_utils_1.ViewUtils.EModelSpacePositioning.Ucs : view_utils_1.ViewUtils.EModelSpacePositioning.Legacy);
37
+ }
35
38
  /**
36
39
  * Every node of the Assembly read so far, so a caller can work out motion in the Assembly's own terms.
37
40
  * @param timeMs the scene time for each node's current pose. Default: the clock's.
@@ -89,6 +92,8 @@ var AssemblyRenderManager;
89
92
  // Quick look-up of the hierarchy nodes by entity ID.
90
93
  this.hierarchyNodeByEntityId = null;
91
94
  this.modelSpace = false;
95
+ // UCS model-space draws the Assembly where it is and treats the scene's origin as 0,0,0.
96
+ this.modelSpaceUcs = false;
92
97
  this.rootId = null;
93
98
  // Where the root sits outside its history, and which way it faces in degrees. Children are placed through it.
94
99
  this.rootPos3d = null;
@@ -130,6 +135,7 @@ var AssemblyRenderManager;
130
135
  this.item = item;
131
136
  this.visualsManager = visualsManager;
132
137
  this.modelSpace = Boolean(params.modelSpace);
138
+ this.modelSpaceUcs = this.modelSpace && view_utils_1.ViewUtils.IsModelSpaceUcs(viewer);
133
139
  }
134
140
  /**
135
141
  * Returns whether this Assembly's root moves over time.