@shoper/phoenix_design_system 1.18.11-4 → 1.18.11-5
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/build/cjs/packages/phoenix/src/components/accordion/accordion_content.js +2 -70
- package/build/cjs/packages/phoenix/src/components/accordion/accordion_content.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/accordion/accordion_content.d.ts +0 -6
- package/build/esm/packages/phoenix/src/components/accordion/accordion_content.js +2 -70
- package/build/esm/packages/phoenix/src/components/accordion/accordion_content.js.map +1 -1
- package/package.json +1 -1
|
@@ -21,10 +21,6 @@ exports.HAccordionContent = class HAccordionContent extends phoenix_light_lit_el
|
|
|
21
21
|
this._resizeDebounceTimer = null;
|
|
22
22
|
this._mutationDebounceTimer = null;
|
|
23
23
|
this._mutationObserver = null;
|
|
24
|
-
this._resizeObserver = null;
|
|
25
|
-
this._resizeObserverDebounceTimer = null;
|
|
26
|
-
this._lastKnownHeight = 0;
|
|
27
|
-
this._settlementCheckTimer = null;
|
|
28
24
|
this._handleResize = () => {
|
|
29
25
|
if (this._resizeDebounceTimer !== null) {
|
|
30
26
|
window.cancelAnimationFrame(this._resizeDebounceTimer);
|
|
@@ -53,46 +49,8 @@ exports.HAccordionContent = class HAccordionContent extends phoenix_light_lit_el
|
|
|
53
49
|
}
|
|
54
50
|
this._mutationDebounceTimer = window.setTimeout(() => {
|
|
55
51
|
this._forceHeightRecalculation();
|
|
56
|
-
// Re-setup image listeners for any newly added images
|
|
57
|
-
this._setupImageLoadListeners();
|
|
58
52
|
}, MUTATION_DEBOUNCE_MS);
|
|
59
53
|
};
|
|
60
|
-
this._handleContentResize = (entries) => {
|
|
61
|
-
// AGGRESSIVE APPROACH: No debouncing, immediate response
|
|
62
|
-
const entry = entries[0];
|
|
63
|
-
if (!entry)
|
|
64
|
-
return;
|
|
65
|
-
requestAnimationFrame(() => {
|
|
66
|
-
var _a, _b, _c;
|
|
67
|
-
// Get height from ResizeObserver first
|
|
68
|
-
let newHeight = (_c = (_b = (_a = entry.borderBoxSize) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.blockSize) !== null && _c !== void 0 ? _c : entry.contentRect.height;
|
|
69
|
-
// FALLBACK: If the element might be constrained, measure directly
|
|
70
|
-
const previousHeight = this.style.height;
|
|
71
|
-
this.style.height = 'auto';
|
|
72
|
-
requestAnimationFrame(() => {
|
|
73
|
-
// Double-check with getBoundingClientRect
|
|
74
|
-
const measuredHeight = this.getBoundingClientRect().height;
|
|
75
|
-
// Use the larger of the two measurements
|
|
76
|
-
newHeight = Math.max(newHeight, measuredHeight);
|
|
77
|
-
// Track if height is still changing
|
|
78
|
-
const heightChanged = Math.abs(newHeight - this._lastKnownHeight) > 1;
|
|
79
|
-
this._lastKnownHeight = newHeight;
|
|
80
|
-
if (newHeight !== 0 || this.children.length === 0) {
|
|
81
|
-
this._originalHeight = `${newHeight}px`;
|
|
82
|
-
}
|
|
83
|
-
if (this.hidden) {
|
|
84
|
-
this.style.height = '0px';
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
this.style.height = this._originalHeight;
|
|
88
|
-
}
|
|
89
|
-
// If height is still changing, schedule a settlement check
|
|
90
|
-
if (heightChanged) {
|
|
91
|
-
this._scheduleSettlementCheck();
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
};
|
|
96
54
|
this._setOriginalHeightValue = () => {
|
|
97
55
|
const newHeight = this.getBoundingClientRect().height;
|
|
98
56
|
if (newHeight !== 0 || this.children.length === 0) {
|
|
@@ -144,37 +102,20 @@ exports.HAccordionContent = class HAccordionContent extends phoenix_light_lit_el
|
|
|
144
102
|
this._accordionGroupProps.subscribe(this._accordionGroupPropsObserver);
|
|
145
103
|
this._mutationObserver = new MutationObserver(this._handleMutation);
|
|
146
104
|
this._mutationObserver.observe(this, { childList: true, subtree: true });
|
|
147
|
-
this._resizeObserver = new ResizeObserver(this._handleContentResize);
|
|
148
|
-
this._resizeObserver.observe(this);
|
|
149
|
-
// Listen for image loads
|
|
150
105
|
this._setupImageLoadListeners();
|
|
151
106
|
}
|
|
152
|
-
_scheduleSettlementCheck() {
|
|
153
|
-
if (this._settlementCheckTimer !== null) {
|
|
154
|
-
window.clearTimeout(this._settlementCheckTimer);
|
|
155
|
-
}
|
|
156
|
-
// Check again after a delay to see if we've stabilized
|
|
157
|
-
this._settlementCheckTimer = window.setTimeout(() => {
|
|
158
|
-
this._forceHeightRecalculation();
|
|
159
|
-
}, 300);
|
|
160
|
-
}
|
|
161
107
|
_forceHeightRecalculation() {
|
|
162
108
|
if (this.hidden)
|
|
163
109
|
return;
|
|
164
110
|
requestAnimationFrame(() => {
|
|
165
111
|
this.style.height = 'auto';
|
|
166
112
|
requestAnimationFrame(() => {
|
|
167
|
-
|
|
168
|
-
if (finalHeight !== 0 || this.children.length === 0) {
|
|
169
|
-
this._originalHeight = `${finalHeight}px`;
|
|
170
|
-
this._lastKnownHeight = finalHeight;
|
|
171
|
-
}
|
|
113
|
+
this._setOriginalHeightValue();
|
|
172
114
|
this.style.height = this._originalHeight;
|
|
173
115
|
});
|
|
174
116
|
});
|
|
175
117
|
}
|
|
176
118
|
_setupImageLoadListeners() {
|
|
177
|
-
// Listen to all current and future images
|
|
178
119
|
const images = this.querySelectorAll('img');
|
|
179
120
|
images.forEach((img) => {
|
|
180
121
|
if (!img.complete) {
|
|
@@ -184,7 +125,6 @@ exports.HAccordionContent = class HAccordionContent extends phoenix_light_lit_el
|
|
|
184
125
|
});
|
|
185
126
|
}
|
|
186
127
|
_handleImageLoad() {
|
|
187
|
-
// When an image loads, force recalculation
|
|
188
128
|
this._forceHeightRecalculation();
|
|
189
129
|
}
|
|
190
130
|
_setHeight(height) {
|
|
@@ -195,12 +135,10 @@ exports.HAccordionContent = class HAccordionContent extends phoenix_light_lit_el
|
|
|
195
135
|
this.setAttribute('labelledby', regionId);
|
|
196
136
|
}
|
|
197
137
|
disconnectedCallback() {
|
|
198
|
-
var _a, _b
|
|
138
|
+
var _a, _b;
|
|
199
139
|
super.disconnectedCallback();
|
|
200
140
|
(_a = this._accordionGroupProps) === null || _a === void 0 ? void 0 : _a.unsubscribe(this._accordionGroupPropsObserver);
|
|
201
141
|
(_b = this._mutationObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
|
|
202
|
-
(_c = this._resizeObserver) === null || _c === void 0 ? void 0 : _c.disconnect();
|
|
203
|
-
// Remove image listeners
|
|
204
142
|
const images = this.querySelectorAll('img');
|
|
205
143
|
images.forEach((img) => {
|
|
206
144
|
img.removeEventListener('load', this._boundHandleImageLoad);
|
|
@@ -214,12 +152,6 @@ exports.HAccordionContent = class HAccordionContent extends phoenix_light_lit_el
|
|
|
214
152
|
if (this._mutationDebounceTimer !== null) {
|
|
215
153
|
window.clearTimeout(this._mutationDebounceTimer);
|
|
216
154
|
}
|
|
217
|
-
if (this._resizeObserverDebounceTimer !== null) {
|
|
218
|
-
window.clearTimeout(this._resizeObserverDebounceTimer);
|
|
219
|
-
}
|
|
220
|
-
if (this._settlementCheckTimer !== null) {
|
|
221
|
-
window.clearTimeout(this._settlementCheckTimer);
|
|
222
|
-
}
|
|
223
155
|
}
|
|
224
156
|
};
|
|
225
157
|
tslib_es6.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -10,10 +10,6 @@ export declare class HAccordionContent extends PhoenixLightLitElement {
|
|
|
10
10
|
private _resizeDebounceTimer;
|
|
11
11
|
private _mutationDebounceTimer;
|
|
12
12
|
private _mutationObserver;
|
|
13
|
-
private _resizeObserver;
|
|
14
|
-
private _resizeObserverDebounceTimer;
|
|
15
|
-
private _lastKnownHeight;
|
|
16
|
-
private _settlementCheckTimer;
|
|
17
13
|
private _boundHandleTransitionEnd;
|
|
18
14
|
private _boundHandleImageLoad;
|
|
19
15
|
constructor();
|
|
@@ -23,8 +19,6 @@ export declare class HAccordionContent extends PhoenixLightLitElement {
|
|
|
23
19
|
private _setStylingOptions;
|
|
24
20
|
private _subscribeObserver;
|
|
25
21
|
private _handleMutation;
|
|
26
|
-
private _handleContentResize;
|
|
27
|
-
private _scheduleSettlementCheck;
|
|
28
22
|
private _forceHeightRecalculation;
|
|
29
23
|
private _setupImageLoadListeners;
|
|
30
24
|
private _handleImageLoad;
|
|
@@ -17,10 +17,6 @@ let HAccordionContent = class HAccordionContent extends PhoenixLightLitElement {
|
|
|
17
17
|
this._resizeDebounceTimer = null;
|
|
18
18
|
this._mutationDebounceTimer = null;
|
|
19
19
|
this._mutationObserver = null;
|
|
20
|
-
this._resizeObserver = null;
|
|
21
|
-
this._resizeObserverDebounceTimer = null;
|
|
22
|
-
this._lastKnownHeight = 0;
|
|
23
|
-
this._settlementCheckTimer = null;
|
|
24
20
|
this._handleResize = () => {
|
|
25
21
|
if (this._resizeDebounceTimer !== null) {
|
|
26
22
|
window.cancelAnimationFrame(this._resizeDebounceTimer);
|
|
@@ -49,46 +45,8 @@ let HAccordionContent = class HAccordionContent extends PhoenixLightLitElement {
|
|
|
49
45
|
}
|
|
50
46
|
this._mutationDebounceTimer = window.setTimeout(() => {
|
|
51
47
|
this._forceHeightRecalculation();
|
|
52
|
-
// Re-setup image listeners for any newly added images
|
|
53
|
-
this._setupImageLoadListeners();
|
|
54
48
|
}, MUTATION_DEBOUNCE_MS);
|
|
55
49
|
};
|
|
56
|
-
this._handleContentResize = (entries) => {
|
|
57
|
-
// AGGRESSIVE APPROACH: No debouncing, immediate response
|
|
58
|
-
const entry = entries[0];
|
|
59
|
-
if (!entry)
|
|
60
|
-
return;
|
|
61
|
-
requestAnimationFrame(() => {
|
|
62
|
-
var _a, _b, _c;
|
|
63
|
-
// Get height from ResizeObserver first
|
|
64
|
-
let newHeight = (_c = (_b = (_a = entry.borderBoxSize) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.blockSize) !== null && _c !== void 0 ? _c : entry.contentRect.height;
|
|
65
|
-
// FALLBACK: If the element might be constrained, measure directly
|
|
66
|
-
const previousHeight = this.style.height;
|
|
67
|
-
this.style.height = 'auto';
|
|
68
|
-
requestAnimationFrame(() => {
|
|
69
|
-
// Double-check with getBoundingClientRect
|
|
70
|
-
const measuredHeight = this.getBoundingClientRect().height;
|
|
71
|
-
// Use the larger of the two measurements
|
|
72
|
-
newHeight = Math.max(newHeight, measuredHeight);
|
|
73
|
-
// Track if height is still changing
|
|
74
|
-
const heightChanged = Math.abs(newHeight - this._lastKnownHeight) > 1;
|
|
75
|
-
this._lastKnownHeight = newHeight;
|
|
76
|
-
if (newHeight !== 0 || this.children.length === 0) {
|
|
77
|
-
this._originalHeight = `${newHeight}px`;
|
|
78
|
-
}
|
|
79
|
-
if (this.hidden) {
|
|
80
|
-
this.style.height = '0px';
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
this.style.height = this._originalHeight;
|
|
84
|
-
}
|
|
85
|
-
// If height is still changing, schedule a settlement check
|
|
86
|
-
if (heightChanged) {
|
|
87
|
-
this._scheduleSettlementCheck();
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
};
|
|
92
50
|
this._setOriginalHeightValue = () => {
|
|
93
51
|
const newHeight = this.getBoundingClientRect().height;
|
|
94
52
|
if (newHeight !== 0 || this.children.length === 0) {
|
|
@@ -140,37 +98,20 @@ let HAccordionContent = class HAccordionContent extends PhoenixLightLitElement {
|
|
|
140
98
|
this._accordionGroupProps.subscribe(this._accordionGroupPropsObserver);
|
|
141
99
|
this._mutationObserver = new MutationObserver(this._handleMutation);
|
|
142
100
|
this._mutationObserver.observe(this, { childList: true, subtree: true });
|
|
143
|
-
this._resizeObserver = new ResizeObserver(this._handleContentResize);
|
|
144
|
-
this._resizeObserver.observe(this);
|
|
145
|
-
// Listen for image loads
|
|
146
101
|
this._setupImageLoadListeners();
|
|
147
102
|
}
|
|
148
|
-
_scheduleSettlementCheck() {
|
|
149
|
-
if (this._settlementCheckTimer !== null) {
|
|
150
|
-
window.clearTimeout(this._settlementCheckTimer);
|
|
151
|
-
}
|
|
152
|
-
// Check again after a delay to see if we've stabilized
|
|
153
|
-
this._settlementCheckTimer = window.setTimeout(() => {
|
|
154
|
-
this._forceHeightRecalculation();
|
|
155
|
-
}, 300);
|
|
156
|
-
}
|
|
157
103
|
_forceHeightRecalculation() {
|
|
158
104
|
if (this.hidden)
|
|
159
105
|
return;
|
|
160
106
|
requestAnimationFrame(() => {
|
|
161
107
|
this.style.height = 'auto';
|
|
162
108
|
requestAnimationFrame(() => {
|
|
163
|
-
|
|
164
|
-
if (finalHeight !== 0 || this.children.length === 0) {
|
|
165
|
-
this._originalHeight = `${finalHeight}px`;
|
|
166
|
-
this._lastKnownHeight = finalHeight;
|
|
167
|
-
}
|
|
109
|
+
this._setOriginalHeightValue();
|
|
168
110
|
this.style.height = this._originalHeight;
|
|
169
111
|
});
|
|
170
112
|
});
|
|
171
113
|
}
|
|
172
114
|
_setupImageLoadListeners() {
|
|
173
|
-
// Listen to all current and future images
|
|
174
115
|
const images = this.querySelectorAll('img');
|
|
175
116
|
images.forEach((img) => {
|
|
176
117
|
if (!img.complete) {
|
|
@@ -180,7 +121,6 @@ let HAccordionContent = class HAccordionContent extends PhoenixLightLitElement {
|
|
|
180
121
|
});
|
|
181
122
|
}
|
|
182
123
|
_handleImageLoad() {
|
|
183
|
-
// When an image loads, force recalculation
|
|
184
124
|
this._forceHeightRecalculation();
|
|
185
125
|
}
|
|
186
126
|
_setHeight(height) {
|
|
@@ -191,12 +131,10 @@ let HAccordionContent = class HAccordionContent extends PhoenixLightLitElement {
|
|
|
191
131
|
this.setAttribute('labelledby', regionId);
|
|
192
132
|
}
|
|
193
133
|
disconnectedCallback() {
|
|
194
|
-
var _a, _b
|
|
134
|
+
var _a, _b;
|
|
195
135
|
super.disconnectedCallback();
|
|
196
136
|
(_a = this._accordionGroupProps) === null || _a === void 0 ? void 0 : _a.unsubscribe(this._accordionGroupPropsObserver);
|
|
197
137
|
(_b = this._mutationObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
|
|
198
|
-
(_c = this._resizeObserver) === null || _c === void 0 ? void 0 : _c.disconnect();
|
|
199
|
-
// Remove image listeners
|
|
200
138
|
const images = this.querySelectorAll('img');
|
|
201
139
|
images.forEach((img) => {
|
|
202
140
|
img.removeEventListener('load', this._boundHandleImageLoad);
|
|
@@ -210,12 +148,6 @@ let HAccordionContent = class HAccordionContent extends PhoenixLightLitElement {
|
|
|
210
148
|
if (this._mutationDebounceTimer !== null) {
|
|
211
149
|
window.clearTimeout(this._mutationDebounceTimer);
|
|
212
150
|
}
|
|
213
|
-
if (this._resizeObserverDebounceTimer !== null) {
|
|
214
|
-
window.clearTimeout(this._resizeObserverDebounceTimer);
|
|
215
|
-
}
|
|
216
|
-
if (this._settlementCheckTimer !== null) {
|
|
217
|
-
window.clearTimeout(this._settlementCheckTimer);
|
|
218
|
-
}
|
|
219
151
|
}
|
|
220
152
|
};
|
|
221
153
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|