@seatlayer/core 0.86.12 → 0.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{categoryInventory-D57yq6dR.d.cts → categoryInventory-C5TShXDW.d.cts} +1 -1
- package/dist/{categoryInventory-DTYZCenv.d.ts → categoryInventory-CvhYDK4q.d.ts} +1 -1
- package/dist/chunk-5ITK5236.js +1 -0
- package/dist/{chunk-Q3U3F4YJ.js → chunk-AHPF5SD6.js} +1 -1
- package/dist/chunk-CFRNWESM.js +1 -0
- package/dist/chunk-E7TOTX6I.js +1 -0
- package/dist/{chunk-PRED5KHO.js → chunk-FVTW2IBN.js} +1 -1
- package/dist/chunk-OLTZIZEM.js +1 -0
- package/dist/chunk-PI3UH2EN.js +1 -0
- package/dist/chunk-PMBS3VZM.js +1 -0
- package/dist/{chunk-OTN5IFWY.js → chunk-QTBBVSN6.js} +1 -1
- package/dist/{chunk-BS37TGPX.js → chunk-R7TV7RYQ.js} +1 -1
- package/dist/{chunk-BT2KJXQC.js → chunk-WAGKI44J.js} +1 -1
- package/dist/core/chart-ops/index.cjs +1 -1
- package/dist/core/chart-ops/index.d.cts +66 -5
- package/dist/core/chart-ops/index.d.ts +66 -5
- package/dist/core/chart-ops/index.js +1 -1
- package/dist/core/inventory/index.cjs +1 -1
- package/dist/core/inventory/index.d.cts +8 -4
- package/dist/core/inventory/index.d.ts +8 -4
- package/dist/core/inventory/index.js +1 -1
- package/dist/core/layout/index.cjs +1 -1
- package/dist/core/layout/index.d.cts +5 -5
- package/dist/core/layout/index.d.ts +5 -5
- package/dist/core/layout/index.js +1 -1
- package/dist/core/quality/index.d.cts +3 -3
- package/dist/core/quality/index.d.ts +3 -3
- package/dist/core/render-assets/index.cjs +1 -1
- package/dist/core/render-assets/index.d.cts +2 -2
- package/dist/core/render-assets/index.d.ts +2 -2
- package/dist/core/render-assets/index.js +1 -1
- package/dist/core/seatConfidence.d.cts +1 -1
- package/dist/core/seatConfidence.d.ts +1 -1
- package/dist/core/sections/index.cjs +1 -1
- package/dist/core/sections/index.d.cts +11 -9
- package/dist/core/sections/index.d.ts +11 -9
- package/dist/core/sections/index.js +1 -1
- package/dist/{eventConfigurations-Dw3rQPPx.d.cts → eventConfigurations-D0G8mxbb.d.cts} +1 -1
- package/dist/{eventConfigurations-wgXC-YJV.d.ts → eventConfigurations-Dvb8u8bV.d.ts} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +21 -13
- package/dist/index.d.ts +21 -13
- package/dist/index.js +1 -1
- package/dist/{labeling-CYPm5UH0.d.ts → labeling-BEamEVl5.d.ts} +1 -1
- package/dist/{labeling-dukb8qMr.d.cts → labeling-YVvDyso3.d.cts} +1 -1
- package/dist/{renderedQuality-BuZsXn3h.d.ts → renderedQuality-BqrSXn-t.d.ts} +1 -1
- package/dist/{renderedQuality-DuYUhFbT.d.cts → renderedQuality-DkDTyl9y.d.cts} +1 -1
- package/dist/{renderer-BnidPieD.d.cts → renderer-C7veuoCF.d.cts} +1 -1
- package/dist/{renderer-B2uo9TlL.d.ts → renderer-CUKvpguA.d.ts} +1 -1
- package/dist/{seatTypeIcons-R6pp6eSj.d.cts → seatTypeIcons-DHf2-kPo.d.cts} +1 -1
- package/dist/{seatTypeIcons-2Jiehd_M.d.ts → seatTypeIcons-DxxPw5Mn.d.ts} +1 -1
- package/dist/{sections-BiCA47--.d.ts → sections-B8JXltQM.d.ts} +1 -1
- package/dist/{sections-yW4KBAKQ.d.cts → sections-COvZ-5ua.d.cts} +1 -1
- package/dist/{segmentedRowModel-DgZ-j0cp.d.cts → segmentedRowModel-DkGr4Jb7.d.cts} +1 -1
- package/dist/{segmentedRowModel-ChRMKKxC.d.ts → segmentedRowModel-Dm3nuc6_.d.ts} +1 -1
- package/dist/{tableSizing-Sr9fm8g5.d.ts → tableSizing-CEqWVQ4f.d.ts} +3 -3
- package/dist/{tableSizing-Ca0vDrxf.d.cts → tableSizing-DVTmR9Wg.d.cts} +3 -3
- package/dist/{ticketRestrictions-Dsv2W_4o.d.cts → ticketRestrictions-DbpUYleE.d.cts} +2 -2
- package/dist/{ticketRestrictions-C8ylaoRm.d.ts → ticketRestrictions-JhGzamZ8.d.ts} +2 -2
- package/dist/{types-bJU5OwWf.d.cts → types-pwg1Vsz-.d.cts} +47 -5
- package/dist/{types-bJU5OwWf.d.ts → types-pwg1Vsz-.d.ts} +47 -5
- package/dist/view3d/crossfade/panorama.d.cts +1 -1
- package/dist/view3d/crossfade/panorama.d.ts +1 -1
- package/dist/view3d/index.cjs +8 -8
- package/dist/view3d/index.d.cts +3 -3
- package/dist/view3d/index.d.ts +3 -3
- package/dist/view3d/index.js +1 -1
- package/dist/view3d/scene/scene.worker.cjs +1 -1
- package/dist/view3d/scene/scene.worker.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-24O23MNB.js +0 -1
- package/dist/chunk-4ABXX5PL.js +0 -1
- package/dist/chunk-7LMW7QTP.js +0 -1
- package/dist/chunk-NJTU4QK7.js +0 -1
- package/dist/chunk-PNHFP2OH.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as SectionOutlinePath, P as Point, h as SectionPathSegment } from './types-
|
|
1
|
+
import { g as SectionOutlinePath, P as Point, h as SectionPathSegment } from './types-pwg1Vsz-.js';
|
|
2
2
|
|
|
3
3
|
declare function sectionPathSegmentEnd(segment: SectionPathSegment): Point;
|
|
4
4
|
/** Validate finite, continuous closed-path geometry without trusting renderer
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as SectionOutlinePath, P as Point, h as SectionPathSegment } from './types-
|
|
1
|
+
import { g as SectionOutlinePath, P as Point, h as SectionPathSegment } from './types-pwg1Vsz-.cjs';
|
|
2
2
|
|
|
3
3
|
declare function sectionPathSegmentEnd(segment: SectionPathSegment): Point;
|
|
4
4
|
/** Validate finite, continuous closed-path geometry without trusting renderer
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { P as Point, A as AccessibilityType, b as SeatCommercialAttributes, c as SeatViewMetadata, d as ResolvedSeatConfidenceEvidence, L as LabelStyle, e as SeatGlyphKind, C as ChartDoc, F as FloorLabelStyle } from './types-
|
|
1
|
+
import { P as Point, A as AccessibilityType, b as SeatCommercialAttributes, c as SeatViewMetadata, d as ResolvedSeatConfidenceEvidence, L as LabelStyle, e as SeatGlyphKind, C as ChartDoc, F as FloorLabelStyle } from './types-pwg1Vsz-.cjs';
|
|
2
2
|
|
|
3
3
|
interface ExpandedSeat {
|
|
4
4
|
/** Stable id: `${rowId}:${index}` */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { P as Point, A as AccessibilityType, b as SeatCommercialAttributes, c as SeatViewMetadata, d as ResolvedSeatConfidenceEvidence, L as LabelStyle, e as SeatGlyphKind, C as ChartDoc, F as FloorLabelStyle } from './types-
|
|
1
|
+
import { P as Point, A as AccessibilityType, b as SeatCommercialAttributes, c as SeatViewMetadata, d as ResolvedSeatConfidenceEvidence, L as LabelStyle, e as SeatGlyphKind, C as ChartDoc, F as FloorLabelStyle } from './types-pwg1Vsz-.js';
|
|
2
2
|
|
|
3
3
|
interface ExpandedSeat {
|
|
4
4
|
/** Stable id: `${rowId}:${index}` */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { F as FloorLabelStyle, P as Point, C as ChartDoc, A as AccessibilityType, l as SeatOverride, R as RowObject, e as SeatGlyphKind, c as SeatViewMetadata, L as LabelStyle, m as RectTableSide, a as ChartObject, B as BoothObject, T as TableObject, n as Floor, i as SectionObject, o as RectTableSeatCounts } from './types-
|
|
2
|
-
import { S as SegmentedRowPlacement } from './segmentedRowModel-
|
|
3
|
-
import { E as ExpandedSeat } from './renderer-
|
|
1
|
+
import { F as FloorLabelStyle, P as Point, C as ChartDoc, A as AccessibilityType, l as SeatOverride, R as RowObject, e as SeatGlyphKind, c as SeatViewMetadata, L as LabelStyle, m as RectTableSide, a as ChartObject, B as BoothObject, T as TableObject, n as Floor, i as SectionObject, o as RectTableSeatCounts } from './types-pwg1Vsz-.js';
|
|
2
|
+
import { S as SegmentedRowPlacement } from './segmentedRowModel-Dm3nuc6_.js';
|
|
3
|
+
import { E as ExpandedSeat } from './renderer-CUKvpguA.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* The buyer's "All floors" view: one venue, read bottom to top.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { F as FloorLabelStyle, P as Point, C as ChartDoc, A as AccessibilityType, l as SeatOverride, R as RowObject, e as SeatGlyphKind, c as SeatViewMetadata, L as LabelStyle, m as RectTableSide, a as ChartObject, B as BoothObject, T as TableObject, n as Floor, i as SectionObject, o as RectTableSeatCounts } from './types-
|
|
2
|
-
import { S as SegmentedRowPlacement } from './segmentedRowModel-
|
|
3
|
-
import { E as ExpandedSeat } from './renderer-
|
|
1
|
+
import { F as FloorLabelStyle, P as Point, C as ChartDoc, A as AccessibilityType, l as SeatOverride, R as RowObject, e as SeatGlyphKind, c as SeatViewMetadata, L as LabelStyle, m as RectTableSide, a as ChartObject, B as BoothObject, T as TableObject, n as Floor, i as SectionObject, o as RectTableSeatCounts } from './types-pwg1Vsz-.cjs';
|
|
2
|
+
import { S as SegmentedRowPlacement } from './segmentedRowModel-DkGr4Jb7.cjs';
|
|
3
|
+
import { E as ExpandedSeat } from './renderer-C7veuoCF.cjs';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* The buyer's "All floors" view: one venue, read bottom to top.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as ChartDoc, G as GAAreaObject, j as GAInventorySegment, k as CategoryTier } from './types-
|
|
2
|
-
import { E as ExpandedSeat } from './renderer-
|
|
1
|
+
import { C as ChartDoc, G as GAAreaObject, j as GAInventorySegment, k as CategoryTier } from './types-pwg1Vsz-.cjs';
|
|
2
|
+
import { E as ExpandedSeat } from './renderer-C7veuoCF.cjs';
|
|
3
3
|
|
|
4
4
|
declare const MAX_GA_CAPACITY = 100000;
|
|
5
5
|
declare const MAX_EVENT_INVENTORY = 100000;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as ChartDoc, G as GAAreaObject, j as GAInventorySegment, k as CategoryTier } from './types-
|
|
2
|
-
import { E as ExpandedSeat } from './renderer-
|
|
1
|
+
import { C as ChartDoc, G as GAAreaObject, j as GAInventorySegment, k as CategoryTier } from './types-pwg1Vsz-.js';
|
|
2
|
+
import { E as ExpandedSeat } from './renderer-CUKvpguA.js';
|
|
3
3
|
|
|
4
4
|
declare const MAX_GA_CAPACITY = 100000;
|
|
5
5
|
declare const MAX_EVENT_INVENTORY = 100000;
|
|
@@ -1047,8 +1047,33 @@ interface RowObject extends AuthoringObjectState {
|
|
|
1047
1047
|
directSourceRowId?: string;
|
|
1048
1048
|
directReviewedSuffix?: string;
|
|
1049
1049
|
};
|
|
1050
|
-
/** Row label, e.g. "A". Seat labels are `${label}-${n}`. */
|
|
1050
|
+
/** Row label, e.g. "A". Seat labels are `${seatLabelBase ?? label}-${n}`. */
|
|
1051
1051
|
label: string;
|
|
1052
|
+
/**
|
|
1053
|
+
* The inventory-label base used for this row's SEATS. Absent = `label`.
|
|
1054
|
+
*
|
|
1055
|
+
* A physical row label can carry a component suffix that its seats do not
|
|
1056
|
+
* repeat: an imported row labelled `AA-6-1` numbers its seats `AA-6-64`,
|
|
1057
|
+
* `AA-6-65`, … . Without a separate base every one of those seats had to
|
|
1058
|
+
* store an explicit `overrides[].label`, which is what made a 12k-seat buyer
|
|
1059
|
+
* document mostly per-seat label bytes. The base names the shared prefix once
|
|
1060
|
+
* so `seatInventoryLabel` can regenerate the whole run.
|
|
1061
|
+
*
|
|
1062
|
+
* This is booking identity, not presentation: it never affects
|
|
1063
|
+
* `displayLabel`, which keeps following the row's own display prefix.
|
|
1064
|
+
*/
|
|
1065
|
+
seatLabelBase?: string;
|
|
1066
|
+
/**
|
|
1067
|
+
* How a seat's BUYER-FACING label is composed. Absent (the default) keeps the
|
|
1068
|
+
* historical row-prefixed form, `${displayLabel ?? label}-${n}`.
|
|
1069
|
+
*
|
|
1070
|
+
* `'number'` shows the seat NUMBER alone. Many imported venues name seats
|
|
1071
|
+
* that way — the buyer reads "13" inside a row already named "1" — and
|
|
1072
|
+
* without this the only way to say it was an explicit `displayLabel` on every
|
|
1073
|
+
* single seat. It changes presentation only: `seatInventoryLabel`, and so the
|
|
1074
|
+
* booking identity, is untouched.
|
|
1075
|
+
*/
|
|
1076
|
+
seatDisplayLabelMode?: 'number';
|
|
1052
1077
|
/** Buyer-facing row name. `label` remains the legacy inventory prefix. */
|
|
1053
1078
|
displayLabel?: string;
|
|
1054
1079
|
/**
|
|
@@ -1161,6 +1186,10 @@ interface RowObject extends AuthoringObjectState {
|
|
|
1161
1186
|
/** Stable canonical generator signature shared by every intact member. */
|
|
1162
1187
|
signature: string;
|
|
1163
1188
|
};
|
|
1189
|
+
/** Default per-seat label size/color for every seat in this row. A seat's own
|
|
1190
|
+
* `overrides[].labelStyle` wins; absent on both = the theme default. Hoisting
|
|
1191
|
+
* one shared style here replaces one copy per seat. */
|
|
1192
|
+
seatLabelStyle?: LabelStyle;
|
|
1164
1193
|
/** First seat number (default 1). Roman/letters read it as a 1-based ordinal
|
|
1165
1194
|
* (start 1 → I / A). */
|
|
1166
1195
|
seatLabelStart?: number;
|
|
@@ -1372,8 +1401,10 @@ interface ShapeObject extends AuthoringObjectState {
|
|
|
1372
1401
|
role?: string;
|
|
1373
1402
|
/** For a stage: which `StageKind` its polygon was generated from. */
|
|
1374
1403
|
stageKind?: string;
|
|
1375
|
-
/**
|
|
1376
|
-
|
|
1404
|
+
/** Buyer-facing zoom rule for this caption — see the text object's own
|
|
1405
|
+
* `labelImportance` for the three values. Shapes accept the same enum for
|
|
1406
|
+
* type consistency; caption rendering itself is unchanged. */
|
|
1407
|
+
labelImportance?: 'orientation' | 'detail';
|
|
1377
1408
|
/** Private source marker for a reviewed direct-plan landmark. Generic edits
|
|
1378
1409
|
* relinquish it so a later reread cannot overwrite organizer-authored décor. */
|
|
1379
1410
|
referenceAnnotationSource?: ReferenceDirectAnnotationSource;
|
|
@@ -1710,8 +1741,19 @@ interface TextObject extends AuthoringObjectState {
|
|
|
1710
1741
|
opacity?: number;
|
|
1711
1742
|
/** Optional padded background painted behind the exact text box. */
|
|
1712
1743
|
background?: TextBackground;
|
|
1713
|
-
/**
|
|
1714
|
-
|
|
1744
|
+
/**
|
|
1745
|
+
* Buyer-facing zoom rule for this label ("Show at" in the Designer).
|
|
1746
|
+
*
|
|
1747
|
+
* - `'orientation'` — Always. The reviewed-landmark path: the buyer canvas
|
|
1748
|
+
* keeps it above the rendered-size floor at every zoom (and caps it at the
|
|
1749
|
+
* free-text screen ceiling), so gates and entrances stay readable at the
|
|
1750
|
+
* arena overview. Also written by the reference-import pipeline.
|
|
1751
|
+
* - `'detail'` — Close-up only. Hidden while the camera is at or below the
|
|
1752
|
+
* section rung; above it the normal "when it fits" size rule applies.
|
|
1753
|
+
* - absent — When it fits (the default). The plain rendered-size rule.
|
|
1754
|
+
* Absent is deliberately the default so stored charts need no migration.
|
|
1755
|
+
*/
|
|
1756
|
+
labelImportance?: 'orientation' | 'detail';
|
|
1715
1757
|
/** Private source marker paired with a reviewed direct-plan landmark shape. */
|
|
1716
1758
|
referenceAnnotationSource?: ReferenceDirectAnnotationSource;
|
|
1717
1759
|
}
|
|
@@ -1047,8 +1047,33 @@ interface RowObject extends AuthoringObjectState {
|
|
|
1047
1047
|
directSourceRowId?: string;
|
|
1048
1048
|
directReviewedSuffix?: string;
|
|
1049
1049
|
};
|
|
1050
|
-
/** Row label, e.g. "A". Seat labels are `${label}-${n}`. */
|
|
1050
|
+
/** Row label, e.g. "A". Seat labels are `${seatLabelBase ?? label}-${n}`. */
|
|
1051
1051
|
label: string;
|
|
1052
|
+
/**
|
|
1053
|
+
* The inventory-label base used for this row's SEATS. Absent = `label`.
|
|
1054
|
+
*
|
|
1055
|
+
* A physical row label can carry a component suffix that its seats do not
|
|
1056
|
+
* repeat: an imported row labelled `AA-6-1` numbers its seats `AA-6-64`,
|
|
1057
|
+
* `AA-6-65`, … . Without a separate base every one of those seats had to
|
|
1058
|
+
* store an explicit `overrides[].label`, which is what made a 12k-seat buyer
|
|
1059
|
+
* document mostly per-seat label bytes. The base names the shared prefix once
|
|
1060
|
+
* so `seatInventoryLabel` can regenerate the whole run.
|
|
1061
|
+
*
|
|
1062
|
+
* This is booking identity, not presentation: it never affects
|
|
1063
|
+
* `displayLabel`, which keeps following the row's own display prefix.
|
|
1064
|
+
*/
|
|
1065
|
+
seatLabelBase?: string;
|
|
1066
|
+
/**
|
|
1067
|
+
* How a seat's BUYER-FACING label is composed. Absent (the default) keeps the
|
|
1068
|
+
* historical row-prefixed form, `${displayLabel ?? label}-${n}`.
|
|
1069
|
+
*
|
|
1070
|
+
* `'number'` shows the seat NUMBER alone. Many imported venues name seats
|
|
1071
|
+
* that way — the buyer reads "13" inside a row already named "1" — and
|
|
1072
|
+
* without this the only way to say it was an explicit `displayLabel` on every
|
|
1073
|
+
* single seat. It changes presentation only: `seatInventoryLabel`, and so the
|
|
1074
|
+
* booking identity, is untouched.
|
|
1075
|
+
*/
|
|
1076
|
+
seatDisplayLabelMode?: 'number';
|
|
1052
1077
|
/** Buyer-facing row name. `label` remains the legacy inventory prefix. */
|
|
1053
1078
|
displayLabel?: string;
|
|
1054
1079
|
/**
|
|
@@ -1161,6 +1186,10 @@ interface RowObject extends AuthoringObjectState {
|
|
|
1161
1186
|
/** Stable canonical generator signature shared by every intact member. */
|
|
1162
1187
|
signature: string;
|
|
1163
1188
|
};
|
|
1189
|
+
/** Default per-seat label size/color for every seat in this row. A seat's own
|
|
1190
|
+
* `overrides[].labelStyle` wins; absent on both = the theme default. Hoisting
|
|
1191
|
+
* one shared style here replaces one copy per seat. */
|
|
1192
|
+
seatLabelStyle?: LabelStyle;
|
|
1164
1193
|
/** First seat number (default 1). Roman/letters read it as a 1-based ordinal
|
|
1165
1194
|
* (start 1 → I / A). */
|
|
1166
1195
|
seatLabelStart?: number;
|
|
@@ -1372,8 +1401,10 @@ interface ShapeObject extends AuthoringObjectState {
|
|
|
1372
1401
|
role?: string;
|
|
1373
1402
|
/** For a stage: which `StageKind` its polygon was generated from. */
|
|
1374
1403
|
stageKind?: string;
|
|
1375
|
-
/**
|
|
1376
|
-
|
|
1404
|
+
/** Buyer-facing zoom rule for this caption — see the text object's own
|
|
1405
|
+
* `labelImportance` for the three values. Shapes accept the same enum for
|
|
1406
|
+
* type consistency; caption rendering itself is unchanged. */
|
|
1407
|
+
labelImportance?: 'orientation' | 'detail';
|
|
1377
1408
|
/** Private source marker for a reviewed direct-plan landmark. Generic edits
|
|
1378
1409
|
* relinquish it so a later reread cannot overwrite organizer-authored décor. */
|
|
1379
1410
|
referenceAnnotationSource?: ReferenceDirectAnnotationSource;
|
|
@@ -1710,8 +1741,19 @@ interface TextObject extends AuthoringObjectState {
|
|
|
1710
1741
|
opacity?: number;
|
|
1711
1742
|
/** Optional padded background painted behind the exact text box. */
|
|
1712
1743
|
background?: TextBackground;
|
|
1713
|
-
/**
|
|
1714
|
-
|
|
1744
|
+
/**
|
|
1745
|
+
* Buyer-facing zoom rule for this label ("Show at" in the Designer).
|
|
1746
|
+
*
|
|
1747
|
+
* - `'orientation'` — Always. The reviewed-landmark path: the buyer canvas
|
|
1748
|
+
* keeps it above the rendered-size floor at every zoom (and caps it at the
|
|
1749
|
+
* free-text screen ceiling), so gates and entrances stay readable at the
|
|
1750
|
+
* arena overview. Also written by the reference-import pipeline.
|
|
1751
|
+
* - `'detail'` — Close-up only. Hidden while the camera is at or below the
|
|
1752
|
+
* section rung; above it the normal "when it fits" size rule applies.
|
|
1753
|
+
* - absent — When it fits (the default). The plain rendered-size rule.
|
|
1754
|
+
* Absent is deliberately the default so stored charts need no migration.
|
|
1755
|
+
*/
|
|
1756
|
+
labelImportance?: 'orientation' | 'detail';
|
|
1715
1757
|
/** Private source marker paired with a reviewed direct-plan landmark shape. */
|
|
1716
1758
|
referenceAnnotationSource?: ReferenceDirectAnnotationSource;
|
|
1717
1759
|
}
|