presenter 0.8.8 → 0.9.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/export/powerpoint-renderer/objects/renderSpotlight.d.ts +3 -0
- package/dist/export/powerpoint-renderer/types/PowerPointObjectRenderer.d.ts +2 -0
- package/dist/export.js +46 -46
- package/dist/export.js.map +1 -1
- package/dist/export.mjs +909 -772
- package/dist/export.mjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/objects/Spotlight.d.ts +19 -0
- package/dist/presenter.js +2 -2
- package/dist/presenter.js.map +1 -1
- package/dist/presenter.mjs +1517 -1237
- package/dist/presenter.mjs.map +1 -1
- package/dist/renderer/browser-canvas/BrowserCanvasRenderer.d.ts +1 -0
- package/dist/renderer/browser-canvas/objects/renderSpotlight.d.ts +3 -0
- package/dist/renderer/browser-canvas/types/BrowserCanvasObjectRenderer.d.ts +3 -0
- package/dist/renderer/browser-canvas/utils/getSizeFromTextMetrics.d.ts +5 -1
- package/dist/renderer/browser-canvas/utils/variables/createVariableControlsElement.d.ts +6 -0
- package/dist/renderer/browser-canvas/utils/variables/mountVariableControls.d.ts +6 -0
- package/dist/types/ObjectType.d.ts +1 -0
- package/dist/types/Variable.d.ts +19 -0
- package/dist/utils/objects/spotlight/getSpotlightCutout.d.ts +8 -0
- package/dist/utils/objects/spotlight/getSpotlightPath.d.ts +10 -0
- package/dist/utils/storage/variableStorage.d.ts +2 -0
- package/package.json +1 -1
package/dist/export.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Ke from "path";
|
|
2
|
-
import { Canvas as
|
|
3
|
-
import { readFile as
|
|
2
|
+
import { Canvas as Za, Path2D as $a, Image as da } from "skia-canvas";
|
|
3
|
+
import { readFile as tr } from "fs";
|
|
4
4
|
const Ct = {
|
|
5
5
|
Browser: "browser",
|
|
6
6
|
Node: "node"
|
|
@@ -15,10 +15,11 @@ const Ct = {
|
|
|
15
15
|
POLYGON: "Polygon",
|
|
16
16
|
RECTANGLE: "Rectangle",
|
|
17
17
|
SLIDE_OBJECT: "SlideObject",
|
|
18
|
+
SPOTLIGHT: "Spotlight",
|
|
18
19
|
SVG: "SVG",
|
|
19
20
|
TEXT: "Text"
|
|
20
21
|
};
|
|
21
|
-
function
|
|
22
|
+
function er(t) {
|
|
22
23
|
const { drawn: n, startX: e, startY: A, endX: a, endY: i, arrowheadSize: s, isArrowheadFilled: c, isDrawnFromCenter: l } = t, r = { x: e, y: A }, o = { x: a, y: i }, f = Math.atan2(o.y - r.y, o.x - r.x), g = { x: r.x + (o.x - r.x) / 2, y: r.y + (o.y - r.y) / 2 }, d = o.x - r.x, m = o.y - r.y, y = Math.hypot(d, m) * n, v = Math.cos(f), b = Math.sin(f), x = l ? { x: g.x - v * y / 2, y: g.y - b * y / 2 } : r, k = l ? { x: g.x + v * y / 2, y: g.y + b * y / 2 } : { x: r.x + v * y, y: r.y + b * y }, L = c ? Math.PI / 6 : Math.PI / 4.5, R = y < s * 2 ? y / 2 : s, N = {
|
|
23
24
|
x: k.x - R * Math.cos(f - L),
|
|
24
25
|
y: k.y - R * Math.sin(f - L)
|
|
@@ -38,21 +39,21 @@ function $a(t) {
|
|
|
38
39
|
doubledArrowheadPoints: [P, x, E]
|
|
39
40
|
};
|
|
40
41
|
}
|
|
41
|
-
function
|
|
42
|
+
function Ze(t, n = null) {
|
|
42
43
|
return t.alpha * (n ?? 1);
|
|
43
44
|
}
|
|
44
|
-
function
|
|
45
|
-
const { red: e, green: A, blue: a } = t, i = e << 16 | A << 8 | a, s = Math.round(
|
|
45
|
+
function $e(t, n = null) {
|
|
46
|
+
const { red: e, green: A, blue: a } = t, i = e << 16 | A << 8 | a, s = Math.round(Ze(t, n) * 255);
|
|
46
47
|
return `#${i.toString(16).padStart(6, "0")}${s !== 255 ? s.toString(16).padStart(2, "0") : ""}`;
|
|
47
48
|
}
|
|
48
|
-
function
|
|
49
|
+
function Ut(t, n) {
|
|
49
50
|
throw new Error("Unexpected value: " + t);
|
|
50
51
|
}
|
|
51
52
|
const Wt = {
|
|
52
53
|
Browser: "browser",
|
|
53
54
|
Node: "node"
|
|
54
55
|
};
|
|
55
|
-
function
|
|
56
|
+
function zt({
|
|
56
57
|
ctx: t,
|
|
57
58
|
color: n,
|
|
58
59
|
drawn: e = null,
|
|
@@ -66,15 +67,15 @@ function Mt({
|
|
|
66
67
|
if (!(l === 0 || e === 0)) {
|
|
67
68
|
if (e !== null && c !== null && e !== 1) {
|
|
68
69
|
const r = c + (a ? l : 0), o = c * e;
|
|
69
|
-
|
|
70
|
-
0
|
|
71
|
-
|
|
72
|
-
o
|
|
73
|
-
(
|
|
74
|
-
|
|
70
|
+
if (!A)
|
|
71
|
+
t.context.setLineDash([o, r - o]), t.context.lineDashOffset = 0;
|
|
72
|
+
else {
|
|
73
|
+
const f = r - o;
|
|
74
|
+
t.context.setLineDash([o, f]), t.context.lineDashOffset = -f / 2;
|
|
75
|
+
}
|
|
75
76
|
} else
|
|
76
|
-
t.context.setLineDash([]);
|
|
77
|
-
if (t.context.lineWidth = l, t.context.strokeStyle =
|
|
77
|
+
t.context.setLineDash([]), t.context.lineDashOffset = 0;
|
|
78
|
+
if (t.context.lineWidth = l, t.context.strokeStyle = $e(n, i), t.context.lineCap = a ? "round" : "butt", s === void 0) {
|
|
78
79
|
t.context.stroke();
|
|
79
80
|
return;
|
|
80
81
|
}
|
|
@@ -86,15 +87,15 @@ function Mt({
|
|
|
86
87
|
s.type === Wt.Node ? t.context.stroke(s.path) : console.warn("Attempted to use Browser Path2D in Node Canvas context");
|
|
87
88
|
break;
|
|
88
89
|
default:
|
|
89
|
-
|
|
90
|
+
Ut(t);
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
93
|
}
|
|
93
94
|
function Re(t, n = null) {
|
|
94
|
-
const { red: e, green: A, blue: a } = t, i =
|
|
95
|
+
const { red: e, green: A, blue: a } = t, i = Ze(t, n);
|
|
95
96
|
return `rgba(${e}, ${A}, ${a}, ${i})`;
|
|
96
97
|
}
|
|
97
|
-
function
|
|
98
|
+
function Mt({ ctx: t, path: n, color: e, opacity: A = null }) {
|
|
98
99
|
if (t.context.fillStyle = Re(e, A), n === void 0) {
|
|
99
100
|
t.context.fill();
|
|
100
101
|
return;
|
|
@@ -107,7 +108,7 @@ function zt({ ctx: t, path: n, color: e, opacity: A = null }) {
|
|
|
107
108
|
n.type === Wt.Node ? t.context.fill(n.path) : console.warn("Attempted to use Browser Path2D in Node Canvas context");
|
|
108
109
|
break;
|
|
109
110
|
default:
|
|
110
|
-
|
|
111
|
+
Ut(t);
|
|
111
112
|
}
|
|
112
113
|
}
|
|
113
114
|
function Ie(t, n) {
|
|
@@ -125,7 +126,7 @@ function Ie(t, n) {
|
|
|
125
126
|
}
|
|
126
127
|
return { path: e, length: a };
|
|
127
128
|
}
|
|
128
|
-
const
|
|
129
|
+
const ar = ({
|
|
129
130
|
ctx: t,
|
|
130
131
|
object: n,
|
|
131
132
|
opacity: e,
|
|
@@ -134,19 +135,19 @@ const tr = ({
|
|
|
134
135
|
const a = n.opacity * e;
|
|
135
136
|
if (a === 0 || n.drawn === 0)
|
|
136
137
|
return;
|
|
137
|
-
const { arrowPoints: i, arrowheadPoints: s, doubledArrowheadPoints: c } =
|
|
138
|
-
if (
|
|
138
|
+
const { arrowPoints: i, arrowheadPoints: s, doubledArrowheadPoints: c } = er(n), { path: l } = Ie(i, A), { path: r } = Ie(s, A);
|
|
139
|
+
if (zt({
|
|
139
140
|
color: n.color,
|
|
140
141
|
ctx: t,
|
|
141
142
|
path: l,
|
|
142
143
|
opacity: a,
|
|
143
144
|
width: n.width
|
|
144
|
-
}), n.isArrowheadFilled && (r.path.closePath(),
|
|
145
|
+
}), n.isArrowheadFilled && (r.path.closePath(), Mt({
|
|
145
146
|
ctx: t,
|
|
146
147
|
path: r,
|
|
147
148
|
color: n.color,
|
|
148
149
|
opacity: a
|
|
149
|
-
})),
|
|
150
|
+
})), zt({
|
|
150
151
|
color: n.color,
|
|
151
152
|
ctx: t,
|
|
152
153
|
path: r,
|
|
@@ -157,12 +158,12 @@ const tr = ({
|
|
|
157
158
|
c,
|
|
158
159
|
A
|
|
159
160
|
);
|
|
160
|
-
n.isArrowheadFilled && (o.path.closePath(),
|
|
161
|
+
n.isArrowheadFilled && (o.path.closePath(), Mt({
|
|
161
162
|
ctx: t,
|
|
162
163
|
path: o,
|
|
163
164
|
color: n.color,
|
|
164
165
|
opacity: a
|
|
165
|
-
})),
|
|
166
|
+
})), zt({
|
|
166
167
|
color: n.color,
|
|
167
168
|
ctx: t,
|
|
168
169
|
path: o,
|
|
@@ -171,20 +172,20 @@ const tr = ({
|
|
|
171
172
|
});
|
|
172
173
|
}
|
|
173
174
|
};
|
|
174
|
-
function
|
|
175
|
+
function rr(t, n) {
|
|
175
176
|
const e = t.radius - t.strokeWidth / 2;
|
|
176
177
|
if (e <= 0)
|
|
177
178
|
return;
|
|
178
179
|
const A = n(), a = -Math.PI / 2;
|
|
179
180
|
return A.path.arc(t.x, t.y, e, a, a + 2 * Math.PI), A;
|
|
180
181
|
}
|
|
181
|
-
function
|
|
182
|
+
function nr(t, n) {
|
|
182
183
|
const e = n(), A = -Math.PI / 2;
|
|
183
184
|
e.path.arc(t.x, t.y, t.radius, A, A + 2 * Math.PI);
|
|
184
185
|
const a = 2 * Math.PI * t.radius;
|
|
185
186
|
return { path: e, length: a };
|
|
186
187
|
}
|
|
187
|
-
function
|
|
188
|
+
function ka(t, n) {
|
|
188
189
|
switch (t.type) {
|
|
189
190
|
case Ct.Browser:
|
|
190
191
|
n.type === Wt.Browser ? t.context.clip(n.path) : console.warn("Attempted to use Node Path2D in Browser Canvas context");
|
|
@@ -193,10 +194,10 @@ function La(t, n) {
|
|
|
193
194
|
n.type === Wt.Node ? t.context.clip(n.path) : console.warn("Attempted to use Browser Path2D in Node Canvas context");
|
|
194
195
|
break;
|
|
195
196
|
default:
|
|
196
|
-
|
|
197
|
+
Ut(t);
|
|
197
198
|
}
|
|
198
199
|
}
|
|
199
|
-
const
|
|
200
|
+
const or = ({
|
|
200
201
|
ctx: t,
|
|
201
202
|
object: n,
|
|
202
203
|
opacity: e,
|
|
@@ -205,13 +206,13 @@ const rr = ({
|
|
|
205
206
|
const a = n.opacity * e;
|
|
206
207
|
if (a === 0 || n.drawn === 0 && n.fillColor.alpha === 0)
|
|
207
208
|
return;
|
|
208
|
-
const { path: i, length: s } =
|
|
209
|
+
const { path: i, length: s } = nr(n, A);
|
|
209
210
|
if (a < 1 && n.strokeWidth > 0) {
|
|
210
|
-
const c =
|
|
211
|
-
c !== void 0 && (t.context.save(),
|
|
211
|
+
const c = rr(n, A);
|
|
212
|
+
c !== void 0 && (t.context.save(), ka(t, c), Mt({ ctx: t, path: i, color: n.fillColor, opacity: a }), t.context.restore());
|
|
212
213
|
} else
|
|
213
|
-
|
|
214
|
-
|
|
214
|
+
Mt({ ctx: t, path: i, color: n.fillColor, opacity: a });
|
|
215
|
+
zt({
|
|
215
216
|
color: n.strokeColor,
|
|
216
217
|
ctx: t,
|
|
217
218
|
drawn: n.drawn,
|
|
@@ -221,14 +222,14 @@ const rr = ({
|
|
|
221
222
|
width: n.strokeWidth
|
|
222
223
|
});
|
|
223
224
|
};
|
|
224
|
-
function
|
|
225
|
+
function mt(t = null) {
|
|
225
226
|
return {
|
|
226
227
|
x: 0,
|
|
227
228
|
y: 0,
|
|
228
229
|
...t
|
|
229
230
|
};
|
|
230
231
|
}
|
|
231
|
-
const
|
|
232
|
+
const ir = mt();
|
|
232
233
|
function Lt(t = null) {
|
|
233
234
|
return {
|
|
234
235
|
height: 0,
|
|
@@ -236,7 +237,7 @@ function Lt(t = null) {
|
|
|
236
237
|
...t
|
|
237
238
|
};
|
|
238
239
|
}
|
|
239
|
-
const
|
|
240
|
+
const Ar = Lt({ width: 0, height: 0 }), Et = {
|
|
240
241
|
TOP_LEFT: "TopLeft",
|
|
241
242
|
TOP: "Top",
|
|
242
243
|
TOP_RIGHT: "TopRight",
|
|
@@ -249,72 +250,72 @@ const or = Lt({ width: 0, height: 0 }), Ot = {
|
|
|
249
250
|
};
|
|
250
251
|
function It(t = null) {
|
|
251
252
|
return {
|
|
252
|
-
origin:
|
|
253
|
-
size:
|
|
253
|
+
origin: ir,
|
|
254
|
+
size: Ar,
|
|
254
255
|
...t
|
|
255
256
|
};
|
|
256
257
|
}
|
|
257
258
|
It();
|
|
258
|
-
function
|
|
259
|
+
function Ot(t, n, e) {
|
|
259
260
|
const { x: A, y: a } = t, { width: i, height: s } = e;
|
|
260
261
|
switch (n) {
|
|
261
|
-
case
|
|
262
|
+
case Et.TOP_LEFT:
|
|
262
263
|
return It({
|
|
263
|
-
origin:
|
|
264
|
+
origin: mt({ x: A, y: a }),
|
|
264
265
|
size: e
|
|
265
266
|
});
|
|
266
|
-
case
|
|
267
|
+
case Et.TOP:
|
|
267
268
|
return It({
|
|
268
|
-
origin:
|
|
269
|
+
origin: mt({ x: A - i / 2, y: a }),
|
|
269
270
|
size: e
|
|
270
271
|
});
|
|
271
|
-
case
|
|
272
|
+
case Et.TOP_RIGHT:
|
|
272
273
|
return It({
|
|
273
|
-
origin:
|
|
274
|
+
origin: mt({ x: A - i, y: a }),
|
|
274
275
|
size: e
|
|
275
276
|
});
|
|
276
|
-
case
|
|
277
|
+
case Et.LEFT:
|
|
277
278
|
return It({
|
|
278
|
-
origin:
|
|
279
|
+
origin: mt({ x: A, y: a - s / 2 }),
|
|
279
280
|
size: e
|
|
280
281
|
});
|
|
281
|
-
case
|
|
282
|
+
case Et.CENTER:
|
|
282
283
|
return It({
|
|
283
|
-
origin:
|
|
284
|
+
origin: mt({ x: A - i / 2, y: a - s / 2 }),
|
|
284
285
|
size: e
|
|
285
286
|
});
|
|
286
|
-
case
|
|
287
|
+
case Et.RIGHT:
|
|
287
288
|
return It({
|
|
288
|
-
origin:
|
|
289
|
+
origin: mt({ x: A - i, y: a - s / 2 }),
|
|
289
290
|
size: e
|
|
290
291
|
});
|
|
291
|
-
case
|
|
292
|
+
case Et.BOTTOM_LEFT:
|
|
292
293
|
return It({
|
|
293
|
-
origin:
|
|
294
|
+
origin: mt({ x: A, y: a - s }),
|
|
294
295
|
size: e
|
|
295
296
|
});
|
|
296
|
-
case
|
|
297
|
+
case Et.BOTTOM:
|
|
297
298
|
return It({
|
|
298
|
-
origin:
|
|
299
|
+
origin: mt({ x: A - i / 2, y: a - s }),
|
|
299
300
|
size: e
|
|
300
301
|
});
|
|
301
|
-
case
|
|
302
|
+
case Et.BOTTOM_RIGHT:
|
|
302
303
|
return It({
|
|
303
|
-
origin:
|
|
304
|
+
origin: mt({ x: A - i, y: a - s }),
|
|
304
305
|
size: e
|
|
305
306
|
});
|
|
306
307
|
default:
|
|
307
|
-
|
|
308
|
+
Ut(n);
|
|
308
309
|
}
|
|
309
310
|
}
|
|
310
|
-
const
|
|
311
|
+
const sr = ({
|
|
311
312
|
ctx: t,
|
|
312
313
|
object: n,
|
|
313
314
|
renderObject: e,
|
|
314
315
|
opacity: A
|
|
315
316
|
}) => {
|
|
316
|
-
const a = n.scale * n.scaleX, i = n.scale * n.scaleY, s =
|
|
317
|
-
|
|
317
|
+
const a = n.scale * n.scaleX, i = n.scale * n.scaleY, s = Ot(
|
|
318
|
+
mt({ x: n.x, y: n.y }),
|
|
318
319
|
n.anchor,
|
|
319
320
|
Lt({
|
|
320
321
|
width: n.width * Math.abs(a),
|
|
@@ -332,10 +333,10 @@ const ir = ({
|
|
|
332
333
|
), t.context.translate(-o, -f);
|
|
333
334
|
for (const m of n.objects)
|
|
334
335
|
e(m, A * n.opacity);
|
|
335
|
-
n.previewColor !== null && (t.context.fillStyle =
|
|
336
|
+
n.previewColor !== null && (t.context.fillStyle = $e(n.previewColor), t.context.fillRect(0, 0, n.width, n.height)), n.rotateOriginPreviewSize > 0 && (t.context.fillStyle = "red", t.context.beginPath(), t.context.arc(l, r, n.rotateOriginPreviewSize, 0, 2 * Math.PI), t.context.fill()), n.skewOriginPreviewSize > 0 && (t.context.fillStyle = "blue", t.context.beginPath(), t.context.arc(o, f, n.skewOriginPreviewSize, 0, 2 * Math.PI), t.context.fill()), t.context.restore();
|
|
336
337
|
}
|
|
337
338
|
};
|
|
338
|
-
function
|
|
339
|
+
function ta(t, n, e, A, a = 0) {
|
|
339
340
|
const i = A();
|
|
340
341
|
i.path.moveTo(t.x + e, t.y), i.path.lineTo(t.x + n.width - e, t.y), i.path.arcTo(
|
|
341
342
|
t.x + n.width,
|
|
@@ -362,21 +363,21 @@ function $e(t, n, e, A, a = 0) {
|
|
|
362
363
|
const ue = {
|
|
363
364
|
Browser: "browser",
|
|
364
365
|
Node: "node"
|
|
365
|
-
},
|
|
366
|
+
}, lr = ({
|
|
366
367
|
ctx: t,
|
|
367
368
|
imageById: n,
|
|
368
369
|
object: e,
|
|
369
370
|
opacity: A,
|
|
370
371
|
createPath2D: a
|
|
371
372
|
}) => {
|
|
372
|
-
const i =
|
|
373
|
-
|
|
373
|
+
const i = Ot(
|
|
374
|
+
mt({ x: e.x, y: e.y }),
|
|
374
375
|
e.anchor,
|
|
375
376
|
Lt({ width: e.width, height: e.height })
|
|
376
377
|
), s = n[e.imageId];
|
|
377
378
|
if (s !== void 0) {
|
|
378
379
|
if (t.context.save(), e.cornerRadius > 0) {
|
|
379
|
-
const c =
|
|
380
|
+
const c = ta(
|
|
380
381
|
i.origin,
|
|
381
382
|
i.size,
|
|
382
383
|
e.cornerRadius,
|
|
@@ -390,7 +391,7 @@ const ue = {
|
|
|
390
391
|
c.path.type === Wt.Node ? t.context.clip(c.path.path) : console.warn("Attempted to use Browser Path2D in Node Canvas context");
|
|
391
392
|
break;
|
|
392
393
|
default:
|
|
393
|
-
|
|
394
|
+
Ut(t);
|
|
394
395
|
}
|
|
395
396
|
}
|
|
396
397
|
switch (t.context.globalAlpha = A * e.opacity, t.context.imageSmoothingEnabled = e.smooth, t.type) {
|
|
@@ -413,18 +414,18 @@ const ue = {
|
|
|
413
414
|
) : console.warn("Attempted to use Browser Image in Node Canvas context");
|
|
414
415
|
break;
|
|
415
416
|
default:
|
|
416
|
-
|
|
417
|
+
Ut(t);
|
|
417
418
|
}
|
|
418
419
|
t.context.restore();
|
|
419
420
|
}
|
|
420
421
|
};
|
|
421
|
-
function
|
|
422
|
+
function cr(t, n) {
|
|
422
423
|
const e = n();
|
|
423
424
|
e.path.moveTo(t.startX, t.startY), e.path.lineTo(t.endX, t.endY);
|
|
424
425
|
const A = Math.hypot(t.endX - t.startX, t.endY - t.startY);
|
|
425
426
|
return { path: e, length: A };
|
|
426
427
|
}
|
|
427
|
-
const
|
|
428
|
+
const dr = ({
|
|
428
429
|
ctx: t,
|
|
429
430
|
object: n,
|
|
430
431
|
opacity: e,
|
|
@@ -433,8 +434,8 @@ const lr = ({
|
|
|
433
434
|
const a = n.opacity * e;
|
|
434
435
|
if (a === 0 || n.drawn === 0)
|
|
435
436
|
return;
|
|
436
|
-
const { path: i, length: s } =
|
|
437
|
-
|
|
437
|
+
const { path: i, length: s } = cr(n, A);
|
|
438
|
+
zt({
|
|
438
439
|
color: n.color,
|
|
439
440
|
ctx: t,
|
|
440
441
|
drawn: n.drawn,
|
|
@@ -449,7 +450,7 @@ const lr = ({
|
|
|
449
450
|
function Pt(t, n = 0, e = 0, A = 1) {
|
|
450
451
|
if (typeof t == "string") {
|
|
451
452
|
const a = t.replace("#", ""), i = parseInt(a, 16);
|
|
452
|
-
return isNaN(i) ? (console.warn("Invalid hex color format:", t),
|
|
453
|
+
return isNaN(i) ? (console.warn("Invalid hex color format:", t), fa) : a.length === 6 ? {
|
|
453
454
|
red: i >> 16 & 255,
|
|
454
455
|
green: i >> 8 & 255,
|
|
455
456
|
blue: i & 255,
|
|
@@ -459,7 +460,7 @@ function Pt(t, n = 0, e = 0, A = 1) {
|
|
|
459
460
|
green: i >> 16 & 255,
|
|
460
461
|
blue: i >> 8 & 255,
|
|
461
462
|
alpha: (i & 255) / 255
|
|
462
|
-
} : (console.warn("Invalid hex color format:", t),
|
|
463
|
+
} : (console.warn("Invalid hex color format:", t), fa);
|
|
463
464
|
} else if (typeof t == "number")
|
|
464
465
|
return {
|
|
465
466
|
red: t,
|
|
@@ -481,23 +482,23 @@ Pt.GREEN = Pt(0, 255, 0);
|
|
|
481
482
|
Pt.RED = Pt(255, 0, 0);
|
|
482
483
|
Pt.TRANSPARENT = Pt(0, 0, 0, 0);
|
|
483
484
|
Pt.WHITE = Pt(255, 255, 255);
|
|
484
|
-
const
|
|
485
|
+
const fa = { red: 0, green: 0, blue: 0, alpha: 1 }, fr = ({
|
|
485
486
|
ctx: t,
|
|
486
487
|
object: n,
|
|
487
488
|
opacity: e,
|
|
488
489
|
renderObject: A
|
|
489
490
|
}) => {
|
|
490
491
|
t.context.save();
|
|
491
|
-
const a =
|
|
492
|
-
|
|
492
|
+
const a = Ot(
|
|
493
|
+
mt({ x: n.x, y: n.y }),
|
|
493
494
|
n.anchor,
|
|
494
495
|
Lt({ width: n.width, height: n.height })
|
|
495
496
|
);
|
|
496
|
-
n.preview && (t.context.lineWidth = 4, t.context.strokeStyle =
|
|
497
|
+
n.preview && (t.context.lineWidth = 4, t.context.strokeStyle = $e(Pt.RED), t.context.rect(a.origin.x, a.origin.y, a.size.width, a.size.height), t.context.stroke()), t.context.beginPath(), t.context.rect(a.origin.x, a.origin.y, a.size.width, a.size.height), t.context.closePath(), t.context.clip();
|
|
497
498
|
for (const i of n.objects)
|
|
498
499
|
A(i, e * n.opacity);
|
|
499
500
|
t.context.restore();
|
|
500
|
-
},
|
|
501
|
+
}, hr = ({
|
|
501
502
|
ctx: t,
|
|
502
503
|
object: n,
|
|
503
504
|
opacity: e,
|
|
@@ -506,17 +507,17 @@ const da = { red: 0, green: 0, blue: 0, alpha: 1 }, cr = ({
|
|
|
506
507
|
const a = n.opacity * e;
|
|
507
508
|
if (a === 0 || n.drawn === 0 && n.fillColor.alpha === 0)
|
|
508
509
|
return;
|
|
509
|
-
const { origin: i } =
|
|
510
|
-
|
|
510
|
+
const { origin: i } = Ot(
|
|
511
|
+
mt({ x: n.x, y: n.y }),
|
|
511
512
|
n.anchor,
|
|
512
513
|
Lt({ width: n.width, height: n.height })
|
|
513
514
|
), s = A(n.path);
|
|
514
|
-
t.context.save(), t.context.translate(i.x, i.y), t.context.scale(n.width / n.viewboxWidth, n.height / n.viewboxHeight),
|
|
515
|
+
t.context.save(), t.context.translate(i.x, i.y), t.context.scale(n.width / n.viewboxWidth, n.height / n.viewboxHeight), Mt({
|
|
515
516
|
ctx: t,
|
|
516
517
|
path: s,
|
|
517
518
|
color: n.fillColor,
|
|
518
519
|
opacity: a
|
|
519
|
-
}),
|
|
520
|
+
}), zt({
|
|
520
521
|
color: n.strokeColor,
|
|
521
522
|
ctx: t,
|
|
522
523
|
drawn: n.drawn,
|
|
@@ -527,7 +528,7 @@ const da = { red: 0, green: 0, blue: 0, alpha: 1 }, cr = ({
|
|
|
527
528
|
width: n.strokeWidth
|
|
528
529
|
}), t.context.restore();
|
|
529
530
|
};
|
|
530
|
-
function
|
|
531
|
+
function Da(t, n) {
|
|
531
532
|
const e = n(), A = t.points, a = A[0];
|
|
532
533
|
if (a === void 0)
|
|
533
534
|
return { path: e, length: 0 };
|
|
@@ -548,7 +549,7 @@ function ka(t, n) {
|
|
|
548
549
|
);
|
|
549
550
|
return i += c, { path: e, length: i };
|
|
550
551
|
}
|
|
551
|
-
const
|
|
552
|
+
const pr = ({
|
|
552
553
|
ctx: t,
|
|
553
554
|
object: n,
|
|
554
555
|
opacity: e,
|
|
@@ -557,13 +558,13 @@ const fr = ({
|
|
|
557
558
|
const a = n.opacity * e;
|
|
558
559
|
if (a === 0 || n.drawn === 0 && n.fillColor.alpha === 0)
|
|
559
560
|
return;
|
|
560
|
-
const { path: i, length: s } =
|
|
561
|
-
|
|
561
|
+
const { path: i, length: s } = Da(n, A);
|
|
562
|
+
Mt({
|
|
562
563
|
ctx: t,
|
|
563
564
|
path: i,
|
|
564
565
|
color: n.fillColor,
|
|
565
566
|
opacity: a
|
|
566
|
-
}),
|
|
567
|
+
}), zt({
|
|
567
568
|
color: n.strokeColor,
|
|
568
569
|
ctx: t,
|
|
569
570
|
drawn: n.drawn,
|
|
@@ -573,26 +574,26 @@ const fr = ({
|
|
|
573
574
|
width: n.strokeWidth
|
|
574
575
|
});
|
|
575
576
|
};
|
|
576
|
-
function
|
|
577
|
-
const e = t.strokeWidth / 2, { origin: A, size: a } =
|
|
578
|
-
|
|
577
|
+
function ur(t, n) {
|
|
578
|
+
const e = t.strokeWidth / 2, { origin: A, size: a } = Ot(
|
|
579
|
+
mt({ x: t.x, y: t.y }),
|
|
579
580
|
t.anchor,
|
|
580
581
|
Lt({ width: t.width, height: t.height })
|
|
581
582
|
), i = a.width - t.strokeWidth, s = a.height - t.strokeWidth;
|
|
582
583
|
if (i <= 0 || s <= 0)
|
|
583
584
|
return;
|
|
584
|
-
const c =
|
|
585
|
+
const c = mt({ x: A.x + e, y: A.y + e }), l = Lt({ width: i, height: s }), r = Math.max(
|
|
585
586
|
0,
|
|
586
587
|
Math.min(t.cornerRadius - e, Math.min(i, s) / 2)
|
|
587
588
|
);
|
|
588
589
|
if (r > 0)
|
|
589
|
-
return
|
|
590
|
+
return ta(c, l, r, n).path;
|
|
590
591
|
const o = n();
|
|
591
592
|
return o.path.moveTo(c.x, c.y), o.path.lineTo(c.x + i, c.y), o.path.lineTo(c.x + i, c.y + s), o.path.lineTo(c.x, c.y + s), o.path.closePath(), o;
|
|
592
593
|
}
|
|
593
|
-
function
|
|
594
|
-
const { origin: e, size: A } =
|
|
595
|
-
|
|
594
|
+
function gr(t, n) {
|
|
595
|
+
const { origin: e, size: A } = Ot(
|
|
596
|
+
mt({ x: t.x, y: t.y }),
|
|
596
597
|
t.anchor,
|
|
597
598
|
Lt({ width: t.width, height: t.height })
|
|
598
599
|
), a = Math.max(
|
|
@@ -600,7 +601,7 @@ function pr(t, n) {
|
|
|
600
601
|
Math.min(t.cornerRadius, Math.min(A.width, A.height) / 2)
|
|
601
602
|
), i = Math.min(t.strokeWidth * 2, A.width - a);
|
|
602
603
|
if (a > 0)
|
|
603
|
-
return
|
|
604
|
+
return ta(e, A, a, n, i);
|
|
604
605
|
{
|
|
605
606
|
const s = n();
|
|
606
607
|
s.path.moveTo(e.x, e.y), s.path.lineTo(e.x + A.width, e.y), s.path.lineTo(e.x + A.width, e.y + A.height), s.path.lineTo(e.x, e.y + A.height), s.path.lineTo(e.x, e.y), s.path.lineTo(e.x + i, e.y);
|
|
@@ -608,7 +609,7 @@ function pr(t, n) {
|
|
|
608
609
|
return { path: s, length: c };
|
|
609
610
|
}
|
|
610
611
|
}
|
|
611
|
-
const
|
|
612
|
+
const mr = ({
|
|
612
613
|
ctx: t,
|
|
613
614
|
object: n,
|
|
614
615
|
opacity: e,
|
|
@@ -617,13 +618,13 @@ const ur = ({
|
|
|
617
618
|
const a = n.opacity * e;
|
|
618
619
|
if (a === 0 || n.drawn === 0 && n.fillColor.alpha === 0)
|
|
619
620
|
return;
|
|
620
|
-
const { path: i, length: s } =
|
|
621
|
+
const { path: i, length: s } = gr(n, A);
|
|
621
622
|
if (a < 1 && n.strokeWidth > 0) {
|
|
622
|
-
const c =
|
|
623
|
-
c !== void 0 && (t.context.save(),
|
|
623
|
+
const c = ur(n, A);
|
|
624
|
+
c !== void 0 && (t.context.save(), ka(t, c), Mt({ ctx: t, path: i, color: n.fillColor, opacity: a }), t.context.restore());
|
|
624
625
|
} else
|
|
625
|
-
|
|
626
|
-
|
|
626
|
+
Mt({ ctx: t, path: i, color: n.fillColor, opacity: a });
|
|
627
|
+
zt({
|
|
627
628
|
color: n.strokeColor,
|
|
628
629
|
ctx: t,
|
|
629
630
|
drawn: n.drawn,
|
|
@@ -632,7 +633,70 @@ const ur = ({
|
|
|
632
633
|
opacity: a,
|
|
633
634
|
width: n.strokeWidth
|
|
634
635
|
});
|
|
635
|
-
}
|
|
636
|
+
};
|
|
637
|
+
function Pa(t) {
|
|
638
|
+
const { origin: n, size: e } = Ot(
|
|
639
|
+
mt({ x: t.x, y: t.y }),
|
|
640
|
+
t.anchor,
|
|
641
|
+
Lt({ width: t.width, height: t.height })
|
|
642
|
+
);
|
|
643
|
+
return {
|
|
644
|
+
origin: n,
|
|
645
|
+
size: e,
|
|
646
|
+
cornerRadius: Math.max(
|
|
647
|
+
0,
|
|
648
|
+
Math.min(t.cornerRadius, Math.min(e.width, e.height) / 2)
|
|
649
|
+
)
|
|
650
|
+
};
|
|
651
|
+
}
|
|
652
|
+
function vr(t, n, e, A = {
|
|
653
|
+
origin: mt({ x: 0, y: 0 }),
|
|
654
|
+
size: n
|
|
655
|
+
}) {
|
|
656
|
+
const a = e(), { origin: i, size: s, cornerRadius: c } = Pa(t), { origin: l, size: r } = A;
|
|
657
|
+
return a.path.moveTo(l.x, l.y), a.path.lineTo(l.x + r.width, l.y), a.path.lineTo(l.x + r.width, l.y + r.height), a.path.lineTo(l.x, l.y + r.height), a.path.lineTo(l.x, l.y), c === 0 ? (a.path.moveTo(i.x, i.y), a.path.lineTo(i.x, i.y + s.height), a.path.lineTo(i.x + s.width, i.y + s.height), a.path.lineTo(i.x + s.width, i.y), a.path.lineTo(i.x, i.y), a) : (a.path.moveTo(i.x + c, i.y), a.path.arcTo(i.x, i.y, i.x, i.y + c, c), a.path.lineTo(i.x, i.y + s.height - c), a.path.arcTo(
|
|
658
|
+
i.x,
|
|
659
|
+
i.y + s.height,
|
|
660
|
+
i.x + c,
|
|
661
|
+
i.y + s.height,
|
|
662
|
+
c
|
|
663
|
+
), a.path.lineTo(i.x + s.width - c, i.y + s.height), a.path.arcTo(
|
|
664
|
+
i.x + s.width,
|
|
665
|
+
i.y + s.height,
|
|
666
|
+
i.x + s.width,
|
|
667
|
+
i.y + s.height - c,
|
|
668
|
+
c
|
|
669
|
+
), a.path.lineTo(i.x + s.width, i.y + c), a.path.arcTo(
|
|
670
|
+
i.x + s.width,
|
|
671
|
+
i.y,
|
|
672
|
+
i.x + s.width - c,
|
|
673
|
+
i.y,
|
|
674
|
+
c
|
|
675
|
+
), a.path.lineTo(i.x + c, i.y), a);
|
|
676
|
+
}
|
|
677
|
+
const yr = ({
|
|
678
|
+
createPath2D: t,
|
|
679
|
+
ctx: n,
|
|
680
|
+
object: e,
|
|
681
|
+
opacity: A,
|
|
682
|
+
renderScale: a,
|
|
683
|
+
slideSize: i
|
|
684
|
+
}) => {
|
|
685
|
+
const s = e.opacity * A;
|
|
686
|
+
if (s === 0 || e.color.alpha === 0)
|
|
687
|
+
return;
|
|
688
|
+
const c = Lt({
|
|
689
|
+
width: i.width / a,
|
|
690
|
+
height: i.height / a
|
|
691
|
+
}), l = mt({
|
|
692
|
+
x: (i.width - c.width) / 2,
|
|
693
|
+
y: (i.height - c.height) / 2
|
|
694
|
+
}), r = vr(e, i, t, {
|
|
695
|
+
origin: l,
|
|
696
|
+
size: c
|
|
697
|
+
});
|
|
698
|
+
Mt({ ctx: n, path: r, color: e.color, opacity: s });
|
|
699
|
+
}, br = ({
|
|
636
700
|
ctx: t,
|
|
637
701
|
imageById: n,
|
|
638
702
|
object: e,
|
|
@@ -644,8 +708,8 @@ const ur = ({
|
|
|
644
708
|
const i = n[e.svg];
|
|
645
709
|
if (i === void 0)
|
|
646
710
|
return;
|
|
647
|
-
const s =
|
|
648
|
-
|
|
711
|
+
const s = Ot(
|
|
712
|
+
mt({ x: e.x, y: e.y }),
|
|
649
713
|
e.anchor,
|
|
650
714
|
Lt({ width: e.width, height: e.height })
|
|
651
715
|
);
|
|
@@ -669,15 +733,15 @@ const ur = ({
|
|
|
669
733
|
);
|
|
670
734
|
break;
|
|
671
735
|
default:
|
|
672
|
-
|
|
736
|
+
Ut(t);
|
|
673
737
|
}
|
|
674
738
|
t.context.restore();
|
|
675
|
-
},
|
|
739
|
+
}, Me = {
|
|
676
740
|
LEFT: "left",
|
|
677
741
|
CENTER: "center",
|
|
678
742
|
RIGHT: "right"
|
|
679
743
|
};
|
|
680
|
-
function
|
|
744
|
+
function Ra(t) {
|
|
681
745
|
return {
|
|
682
746
|
color: t.color,
|
|
683
747
|
fontFamily: t.fontFamily,
|
|
@@ -689,10 +753,10 @@ function Da(t) {
|
|
|
689
753
|
superscript: t.superscript
|
|
690
754
|
};
|
|
691
755
|
}
|
|
692
|
-
function
|
|
756
|
+
function Na(t) {
|
|
693
757
|
return typeof t == "string" ? [[{ text: t }]] : t.map((n) => n.map((e) => typeof e == "string" ? { text: e } : e));
|
|
694
758
|
}
|
|
695
|
-
function
|
|
759
|
+
function Ta(t, n = 1) {
|
|
696
760
|
const e = Math.max(...t.map((i) => i.reduce((s, c) => s + c.width, 0)));
|
|
697
761
|
let A = 0, a = 0;
|
|
698
762
|
for (let i = 0; i < t.length; i++) {
|
|
@@ -707,8 +771,8 @@ function Ra(t, n = 1) {
|
|
|
707
771
|
width: e
|
|
708
772
|
};
|
|
709
773
|
}
|
|
710
|
-
const
|
|
711
|
-
function
|
|
774
|
+
const wr = 0.7, xr = 0.3;
|
|
775
|
+
function ea(t) {
|
|
712
776
|
const n = t.superscript, e = t.subscript && !n;
|
|
713
777
|
return !n && !e ? {
|
|
714
778
|
baselineShift: 0,
|
|
@@ -716,30 +780,42 @@ function ta(t) {
|
|
|
716
780
|
isSubscript: !1,
|
|
717
781
|
isSuperscript: !1
|
|
718
782
|
} : {
|
|
719
|
-
baselineShift: t.fontSize *
|
|
720
|
-
fontSize: t.fontSize *
|
|
783
|
+
baselineShift: t.fontSize * xr * (n ? -1 : 1),
|
|
784
|
+
fontSize: t.fontSize * wr,
|
|
721
785
|
isSubscript: e,
|
|
722
786
|
isSuperscript: n
|
|
723
787
|
};
|
|
724
788
|
}
|
|
725
|
-
function
|
|
789
|
+
function ha(t, n = 0) {
|
|
790
|
+
return t ?? n;
|
|
791
|
+
}
|
|
792
|
+
function Cr(t) {
|
|
793
|
+
const n = ha(
|
|
794
|
+
t.fontBoundingBoxAscent,
|
|
795
|
+
t.actualBoundingBoxAscent
|
|
796
|
+
), e = ha(
|
|
797
|
+
t.fontBoundingBoxDescent,
|
|
798
|
+
t.actualBoundingBoxDescent
|
|
799
|
+
);
|
|
726
800
|
return {
|
|
727
|
-
|
|
728
|
-
height:
|
|
801
|
+
bottom: e,
|
|
802
|
+
height: n + e,
|
|
803
|
+
top: n,
|
|
804
|
+
width: t.width
|
|
729
805
|
};
|
|
730
806
|
}
|
|
731
|
-
function
|
|
732
|
-
const A =
|
|
807
|
+
function Fa(t, n, e = 1) {
|
|
808
|
+
const A = ea(n);
|
|
733
809
|
t.context.fillStyle = Re(n.color, e), t.context.font = `${n.fontStyle} ${n.fontWeight} ${A.fontSize}px ${n.fontFamily}`, t.type === Ct.Browser ? t.context.textRendering = n.ligatures ? "optimizeLegibility" : "optimizeSpeed" : t.context.fontVariant = n.ligatures ? "common-ligatures" : "no-common-ligatures";
|
|
734
810
|
}
|
|
735
|
-
function
|
|
811
|
+
function Sa(t, n, e) {
|
|
736
812
|
const A = [];
|
|
737
813
|
for (const a of t) {
|
|
738
814
|
const i = [];
|
|
739
815
|
for (const s of a) {
|
|
740
816
|
const { text: c, ...l } = s, r = { ...n, ...l };
|
|
741
|
-
|
|
742
|
-
const o = e.context.measureText(c), f =
|
|
817
|
+
Fa(e, r);
|
|
818
|
+
const o = e.context.measureText(c), f = Cr(o), { baselineShift: g } = ea(r), d = Math.max(0, f.top - g), m = Math.max(0, f.bottom + g);
|
|
743
819
|
i.push({
|
|
744
820
|
...f,
|
|
745
821
|
baselineShift: g,
|
|
@@ -752,11 +828,11 @@ function Fa(t, n, e) {
|
|
|
752
828
|
}
|
|
753
829
|
return A;
|
|
754
830
|
}
|
|
755
|
-
const
|
|
831
|
+
const Br = ({ ctx: t, object: n, opacity: e }) => {
|
|
756
832
|
const A = n.opacity * e;
|
|
757
833
|
if (A === 0)
|
|
758
834
|
return;
|
|
759
|
-
const { length: a } = n, i =
|
|
835
|
+
const { length: a } = n, i = Na(n.text), s = Ra(n), c = Sa(i, s, t), l = Ta(c, n.lineSpacing), r = Ot(mt({ x: n.x, y: n.y }), n.anchor, l);
|
|
760
836
|
let o = r.origin.x, f = r.origin.y, g = 0, d = 0;
|
|
761
837
|
for (let m = 0; m < i.length; m++) {
|
|
762
838
|
const u = i[m], y = c[m];
|
|
@@ -766,17 +842,17 @@ const br = ({ ctx: t, object: n, opacity: e }) => {
|
|
|
766
842
|
}
|
|
767
843
|
const v = y.reduce((R, N) => R + N.width, 0), b = y.length === 0 ? d : y.reduce((R, N) => Math.max(R, N.top), 0), x = y.length === 0 ? 0 : y.reduce((R, N) => Math.max(R, N.bottom), 0), k = b + x;
|
|
768
844
|
switch (n.alignment) {
|
|
769
|
-
case
|
|
845
|
+
case Me.LEFT:
|
|
770
846
|
o = r.origin.x;
|
|
771
847
|
break;
|
|
772
|
-
case
|
|
848
|
+
case Me.CENTER:
|
|
773
849
|
o = r.origin.x + (r.size.width - v) / 2;
|
|
774
850
|
break;
|
|
775
|
-
case
|
|
851
|
+
case Me.RIGHT:
|
|
776
852
|
o = r.origin.x + (r.size.width - v);
|
|
777
853
|
break;
|
|
778
854
|
default:
|
|
779
|
-
|
|
855
|
+
Ut(n.alignment);
|
|
780
856
|
break;
|
|
781
857
|
}
|
|
782
858
|
f += d * (n.lineSpacing - 1);
|
|
@@ -796,27 +872,28 @@ const br = ({ ctx: t, object: n, opacity: e }) => {
|
|
|
796
872
|
}
|
|
797
873
|
const B = J ?? P;
|
|
798
874
|
g += B.length;
|
|
799
|
-
const
|
|
800
|
-
|
|
875
|
+
const M = { ...s, ...E };
|
|
876
|
+
Fa(t, M, A), t.context.fillText(B, o, L + U.baselineShift), o += U.width;
|
|
801
877
|
}
|
|
802
878
|
f += k;
|
|
803
879
|
}
|
|
804
|
-
},
|
|
805
|
-
[vt.ARROW]:
|
|
806
|
-
[vt.CIRCLE]:
|
|
807
|
-
[vt.GROUP]:
|
|
808
|
-
[vt.IMAGE]:
|
|
809
|
-
[vt.LINE]:
|
|
810
|
-
[vt.MASK]:
|
|
811
|
-
[vt.PATH]:
|
|
812
|
-
[vt.POLYGON]:
|
|
813
|
-
[vt.RECTANGLE]:
|
|
880
|
+
}, Ia = {
|
|
881
|
+
[vt.ARROW]: ar,
|
|
882
|
+
[vt.CIRCLE]: or,
|
|
883
|
+
[vt.GROUP]: sr,
|
|
884
|
+
[vt.IMAGE]: lr,
|
|
885
|
+
[vt.LINE]: dr,
|
|
886
|
+
[vt.MASK]: fr,
|
|
887
|
+
[vt.PATH]: hr,
|
|
888
|
+
[vt.POLYGON]: pr,
|
|
889
|
+
[vt.RECTANGLE]: mr,
|
|
814
890
|
[vt.SLIDE_OBJECT]: () => {
|
|
815
891
|
},
|
|
816
|
-
[vt.
|
|
817
|
-
[vt.
|
|
892
|
+
[vt.SPOTLIGHT]: yr,
|
|
893
|
+
[vt.SVG]: br,
|
|
894
|
+
[vt.TEXT]: Br
|
|
818
895
|
};
|
|
819
|
-
function
|
|
896
|
+
function aa(t = null) {
|
|
820
897
|
return {
|
|
821
898
|
backgroundColor: Pt.WHITE,
|
|
822
899
|
slides: [],
|
|
@@ -828,7 +905,7 @@ function ea(t = null) {
|
|
|
828
905
|
...t
|
|
829
906
|
};
|
|
830
907
|
}
|
|
831
|
-
const
|
|
908
|
+
const ie = {
|
|
832
909
|
/** Represents an animated change in an object's properties. */
|
|
833
910
|
ANIMATE: "Animate",
|
|
834
911
|
/** Represents a pause in the animation timeline. */
|
|
@@ -836,25 +913,25 @@ const oe = {
|
|
|
836
913
|
/** Represents an immediate update to an object's properties without animation. */
|
|
837
914
|
UPDATE: "Update"
|
|
838
915
|
};
|
|
839
|
-
function
|
|
916
|
+
function Lr(t) {
|
|
840
917
|
const n = Array.isArray(t) ? t : [t];
|
|
841
918
|
let e = 0, A = 0;
|
|
842
919
|
for (const a of n)
|
|
843
920
|
switch (a.type) {
|
|
844
|
-
case
|
|
921
|
+
case ie.PAUSE:
|
|
845
922
|
e += a.duration;
|
|
846
923
|
break;
|
|
847
|
-
case
|
|
924
|
+
case ie.ANIMATE:
|
|
848
925
|
A = Math.max(A, e + a.delay + a.duration), a.block && (e += a.delay + a.duration);
|
|
849
926
|
break;
|
|
850
|
-
case
|
|
927
|
+
case ie.UPDATE:
|
|
851
928
|
break;
|
|
852
929
|
default:
|
|
853
|
-
|
|
930
|
+
Ut(a);
|
|
854
931
|
}
|
|
855
932
|
return A;
|
|
856
933
|
}
|
|
857
|
-
const
|
|
934
|
+
const kr = {
|
|
858
935
|
check: (t) => typeof t == "object" && t !== null && typeof t.red == "number" && typeof t.green == "number" && typeof t.blue == "number" && typeof t.alpha == "number",
|
|
859
936
|
interpolate: (t, n, e) => ({
|
|
860
937
|
red: Math.round(t.red + (n.red - t.red) * e),
|
|
@@ -862,23 +939,23 @@ const xr = {
|
|
|
862
939
|
blue: Math.round(t.blue + (n.blue - t.blue) * e),
|
|
863
940
|
alpha: t.alpha + (n.alpha - t.alpha) * e
|
|
864
941
|
})
|
|
865
|
-
},
|
|
942
|
+
}, Dr = {
|
|
866
943
|
check: (t) => !0,
|
|
867
944
|
interpolate: (t, n) => n
|
|
868
|
-
},
|
|
945
|
+
}, Pr = {
|
|
869
946
|
check: (t) => typeof t == "number",
|
|
870
947
|
interpolate: (t, n, e) => t + (n - t) * e
|
|
871
|
-
},
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
948
|
+
}, pa = [
|
|
949
|
+
Pr,
|
|
950
|
+
kr,
|
|
951
|
+
Dr
|
|
875
952
|
];
|
|
876
|
-
function
|
|
953
|
+
function Rr(t, n, e, A = null) {
|
|
877
954
|
if (e === 0)
|
|
878
955
|
return t;
|
|
879
956
|
if (e === 1)
|
|
880
957
|
return { ...t, ...n };
|
|
881
|
-
const a = A != null ? [...A, ...
|
|
958
|
+
const a = A != null ? [...A, ...pa] : pa, i = {};
|
|
882
959
|
for (const s in n) {
|
|
883
960
|
const c = t[s], l = n[s];
|
|
884
961
|
for (const r of a)
|
|
@@ -893,7 +970,7 @@ function Lr(t, n, e, A = null) {
|
|
|
893
970
|
}
|
|
894
971
|
return { ...t, ...i };
|
|
895
972
|
}
|
|
896
|
-
function
|
|
973
|
+
function ua(t, n, e = null) {
|
|
897
974
|
if (n === null)
|
|
898
975
|
return;
|
|
899
976
|
const A = Array.isArray(n) ? n : [n];
|
|
@@ -902,7 +979,7 @@ function ha(t, n, e = null) {
|
|
|
902
979
|
if (e !== null && a > e)
|
|
903
980
|
break;
|
|
904
981
|
switch (i.type) {
|
|
905
|
-
case
|
|
982
|
+
case ie.ANIMATE: {
|
|
906
983
|
const s = t.get(i.object);
|
|
907
984
|
if (s === void 0)
|
|
908
985
|
break;
|
|
@@ -915,7 +992,7 @@ function ha(t, n, e = null) {
|
|
|
915
992
|
);
|
|
916
993
|
t.set(i.object, {
|
|
917
994
|
...s,
|
|
918
|
-
...
|
|
995
|
+
...Rr(
|
|
919
996
|
s,
|
|
920
997
|
i.props,
|
|
921
998
|
i.easing(l),
|
|
@@ -924,7 +1001,7 @@ function ha(t, n, e = null) {
|
|
|
924
1001
|
}), i.block && (a += i.delay + i.duration);
|
|
925
1002
|
break;
|
|
926
1003
|
}
|
|
927
|
-
case
|
|
1004
|
+
case ie.UPDATE: {
|
|
928
1005
|
const s = t.get(i.object);
|
|
929
1006
|
if (s === void 0)
|
|
930
1007
|
break;
|
|
@@ -934,18 +1011,18 @@ function ha(t, n, e = null) {
|
|
|
934
1011
|
});
|
|
935
1012
|
break;
|
|
936
1013
|
}
|
|
937
|
-
case
|
|
1014
|
+
case ie.PAUSE:
|
|
938
1015
|
a += i.duration;
|
|
939
1016
|
break;
|
|
940
1017
|
default:
|
|
941
|
-
|
|
1018
|
+
Ut(i);
|
|
942
1019
|
}
|
|
943
1020
|
}
|
|
944
1021
|
}
|
|
945
|
-
function
|
|
1022
|
+
function Ma(t) {
|
|
946
1023
|
return "objects" in t ? t.objects.filter((n) => "objectType" in n) : [];
|
|
947
1024
|
}
|
|
948
|
-
function
|
|
1025
|
+
function ra({
|
|
949
1026
|
slide: t,
|
|
950
1027
|
buildIndex: n,
|
|
951
1028
|
buildTime: e
|
|
@@ -953,7 +1030,7 @@ function aa({
|
|
|
953
1030
|
const A = /* @__PURE__ */ new Map();
|
|
954
1031
|
function a(s) {
|
|
955
1032
|
A.set(s, s);
|
|
956
|
-
for (const c of
|
|
1033
|
+
for (const c of Ma(s))
|
|
957
1034
|
a(c);
|
|
958
1035
|
}
|
|
959
1036
|
for (const s of t.objects)
|
|
@@ -961,22 +1038,22 @@ function aa({
|
|
|
961
1038
|
const i = e === null ? n : n - 1;
|
|
962
1039
|
for (let s = 0; s < i; s++) {
|
|
963
1040
|
const c = t.animations[s] ?? null;
|
|
964
|
-
|
|
1041
|
+
ua(A, c);
|
|
965
1042
|
}
|
|
966
1043
|
if (e !== null && n > 0) {
|
|
967
1044
|
const s = t.animations[n - 1] ?? null;
|
|
968
|
-
|
|
1045
|
+
ua(A, s, e);
|
|
969
1046
|
}
|
|
970
1047
|
return A;
|
|
971
1048
|
}
|
|
972
|
-
function
|
|
1049
|
+
function _a(t) {
|
|
973
1050
|
const n = {};
|
|
974
1051
|
function e(A) {
|
|
975
1052
|
if (A.objectType === vt.SVG) {
|
|
976
1053
|
const i = A.svg;
|
|
977
1054
|
i !== void 0 && i.length > 0 && (n[i] = i);
|
|
978
1055
|
}
|
|
979
|
-
const a =
|
|
1056
|
+
const a = Ma(A);
|
|
980
1057
|
for (const i of a)
|
|
981
1058
|
e(i);
|
|
982
1059
|
}
|
|
@@ -985,7 +1062,7 @@ function Ia(t) {
|
|
|
985
1062
|
e(a);
|
|
986
1063
|
return n;
|
|
987
1064
|
}
|
|
988
|
-
function
|
|
1065
|
+
function na(t) {
|
|
989
1066
|
const n = [];
|
|
990
1067
|
if (t.isAllKey) {
|
|
991
1068
|
for (let e = 0; e <= t.animations.length; e++)
|
|
@@ -997,28 +1074,28 @@ function ra(t) {
|
|
|
997
1074
|
}), t.isEndKey && n[n.length - 1] !== t.animations.length && n.push(t.animations.length), n;
|
|
998
1075
|
}
|
|
999
1076
|
function me(t) {
|
|
1000
|
-
return new
|
|
1077
|
+
return new Za(t.width, t.height);
|
|
1001
1078
|
}
|
|
1002
1079
|
function Ne(t) {
|
|
1003
|
-
const n = new
|
|
1080
|
+
const n = new $a(t);
|
|
1004
1081
|
return {
|
|
1005
1082
|
type: Wt.Node,
|
|
1006
1083
|
path: n
|
|
1007
1084
|
};
|
|
1008
1085
|
}
|
|
1009
|
-
async function
|
|
1086
|
+
async function Ea(t, n) {
|
|
1010
1087
|
if (Object.keys(t).length === 0)
|
|
1011
1088
|
return {};
|
|
1012
1089
|
const e = {}, A = (i) => i.includes("</svg>") ? new Promise((c) => {
|
|
1013
|
-
const l = i.replace(/<\?xml[^?]*\?>\s*/g, ""), r = new
|
|
1090
|
+
const l = i.replace(/<\?xml[^?]*\?>\s*/g, ""), r = new da();
|
|
1014
1091
|
r.src = Buffer.from(l), c(r);
|
|
1015
1092
|
}) : new Promise((c, l) => {
|
|
1016
|
-
|
|
1093
|
+
tr(Ke.join(n, i), (r, o) => {
|
|
1017
1094
|
if (r) {
|
|
1018
1095
|
l(r);
|
|
1019
1096
|
return;
|
|
1020
1097
|
}
|
|
1021
|
-
const f = new
|
|
1098
|
+
const f = new da();
|
|
1022
1099
|
f.src = o, c(f);
|
|
1023
1100
|
});
|
|
1024
1101
|
}), a = Object.entries(t).map(async ([i, s]) => {
|
|
@@ -1030,17 +1107,17 @@ async function _a(t, n) {
|
|
|
1030
1107
|
});
|
|
1031
1108
|
return await Promise.all(a), e;
|
|
1032
1109
|
}
|
|
1033
|
-
const
|
|
1110
|
+
const ga = Object.freeze({
|
|
1034
1111
|
directoryName: "",
|
|
1035
1112
|
imageIndex: 0,
|
|
1036
1113
|
imageById: {},
|
|
1037
1114
|
startImageIndex: 0
|
|
1038
1115
|
});
|
|
1039
|
-
class
|
|
1116
|
+
class Kn {
|
|
1040
1117
|
constructor(n) {
|
|
1041
1118
|
const { objectRenderers: e, imageFormat: A = "png", ...a } = n;
|
|
1042
1119
|
this.props = {
|
|
1043
|
-
presentation:
|
|
1120
|
+
presentation: aa(),
|
|
1044
1121
|
imageFormat: A,
|
|
1045
1122
|
animationHoldFrames: 1,
|
|
1046
1123
|
framesPerSecond: 30,
|
|
@@ -1048,19 +1125,19 @@ class Vn {
|
|
|
1048
1125
|
getFilenameForImage: (i) => `${i.toString().padStart(4, "0")}.${A}`,
|
|
1049
1126
|
logFrequency: 0,
|
|
1050
1127
|
objectRenderers: {
|
|
1051
|
-
...
|
|
1128
|
+
...Ia,
|
|
1052
1129
|
...e
|
|
1053
1130
|
},
|
|
1054
1131
|
resourcePathPrefix: "",
|
|
1055
1132
|
...a
|
|
1056
|
-
}, this.state = { ...
|
|
1133
|
+
}, this.state = { ...ga };
|
|
1057
1134
|
}
|
|
1058
1135
|
async save(n, e = 0) {
|
|
1059
1136
|
const { presentation: A, animationHoldFrames: a, isAnimatedExport: i } = this.props;
|
|
1060
1137
|
this.state = {
|
|
1061
|
-
...
|
|
1062
|
-
imageById: await
|
|
1063
|
-
{ ...A.resources.images, ...
|
|
1138
|
+
...ga,
|
|
1139
|
+
imageById: await Ea(
|
|
1140
|
+
{ ...A.resources.images, ..._a(A) },
|
|
1064
1141
|
this.props.resourcePathPrefix
|
|
1065
1142
|
),
|
|
1066
1143
|
directoryName: n,
|
|
@@ -1076,7 +1153,7 @@ class Vn {
|
|
|
1076
1153
|
const r = c.animations[l];
|
|
1077
1154
|
if (r === void 0)
|
|
1078
1155
|
continue;
|
|
1079
|
-
const o =
|
|
1156
|
+
const o = Lr(r), f = Math.ceil(o / 1e3 * this.props.framesPerSecond);
|
|
1080
1157
|
for (let g = 0; g < f; g++)
|
|
1081
1158
|
this.renderImage(
|
|
1082
1159
|
s,
|
|
@@ -1087,7 +1164,7 @@ class Vn {
|
|
|
1087
1164
|
this.renderImage(s, l + 1);
|
|
1088
1165
|
}
|
|
1089
1166
|
} else {
|
|
1090
|
-
const l =
|
|
1167
|
+
const l = na(c);
|
|
1091
1168
|
for (const r of l)
|
|
1092
1169
|
this.renderImage(s, r);
|
|
1093
1170
|
}
|
|
@@ -1103,7 +1180,7 @@ class Vn {
|
|
|
1103
1180
|
const m = me(c.size), u = {
|
|
1104
1181
|
type: Ct.Node,
|
|
1105
1182
|
context: m.getContext("2d")
|
|
1106
|
-
}, y =
|
|
1183
|
+
}, y = ra({
|
|
1107
1184
|
slide: d,
|
|
1108
1185
|
buildIndex: e,
|
|
1109
1186
|
buildTime: A
|
|
@@ -1116,8 +1193,10 @@ class Vn {
|
|
|
1116
1193
|
imageById: r,
|
|
1117
1194
|
object: L,
|
|
1118
1195
|
opacity: x,
|
|
1196
|
+
renderScale: 1,
|
|
1119
1197
|
renderObject: v,
|
|
1120
|
-
createPath2D: Ne
|
|
1198
|
+
createPath2D: Ne,
|
|
1199
|
+
slideSize: c.size
|
|
1121
1200
|
});
|
|
1122
1201
|
}
|
|
1123
1202
|
for (const b of d.objects)
|
|
@@ -1125,28 +1204,28 @@ class Vn {
|
|
|
1125
1204
|
await m.toFile(g, { format: this.props.imageFormat }), s > 0 && o % s === 0 && console.log(`Rendered image ${o}: ${g}`);
|
|
1126
1205
|
}
|
|
1127
1206
|
}
|
|
1128
|
-
const
|
|
1207
|
+
const ma = Object.freeze({
|
|
1129
1208
|
imageById: {}
|
|
1130
1209
|
});
|
|
1131
|
-
class
|
|
1210
|
+
class Zn {
|
|
1132
1211
|
constructor(n) {
|
|
1133
1212
|
const { objectRenderers: e, ...A } = n;
|
|
1134
1213
|
this.props = {
|
|
1135
|
-
presentation:
|
|
1214
|
+
presentation: aa(),
|
|
1136
1215
|
objectRenderers: {
|
|
1137
|
-
...
|
|
1216
|
+
...Ia,
|
|
1138
1217
|
...e
|
|
1139
1218
|
},
|
|
1140
1219
|
resourcePathPrefix: "",
|
|
1141
1220
|
...A
|
|
1142
|
-
}, this.state = { ...
|
|
1221
|
+
}, this.state = { ...ma };
|
|
1143
1222
|
}
|
|
1144
1223
|
async save(n) {
|
|
1145
1224
|
const { presentation: e } = this.props;
|
|
1146
1225
|
this.state = {
|
|
1147
|
-
...
|
|
1148
|
-
imageById: await
|
|
1149
|
-
{ ...e.resources.images, ...
|
|
1226
|
+
...ma,
|
|
1227
|
+
imageById: await Ea(
|
|
1228
|
+
{ ...e.resources.images, ..._a(e) },
|
|
1150
1229
|
this.props.resourcePathPrefix
|
|
1151
1230
|
)
|
|
1152
1231
|
};
|
|
@@ -1155,7 +1234,7 @@ class Yn {
|
|
|
1155
1234
|
const i = e.slides[a];
|
|
1156
1235
|
if (i === void 0)
|
|
1157
1236
|
continue;
|
|
1158
|
-
const s =
|
|
1237
|
+
const s = na(i);
|
|
1159
1238
|
for (const c of s)
|
|
1160
1239
|
this.addPage(A, a, c);
|
|
1161
1240
|
}
|
|
@@ -1168,7 +1247,7 @@ class Yn {
|
|
|
1168
1247
|
const l = n.newPage(i.size.width, i.size.height), r = {
|
|
1169
1248
|
type: Ct.Node,
|
|
1170
1249
|
context: l
|
|
1171
|
-
}, o =
|
|
1250
|
+
}, o = ra({
|
|
1172
1251
|
slide: c,
|
|
1173
1252
|
buildIndex: A,
|
|
1174
1253
|
buildTime: null
|
|
@@ -1181,8 +1260,10 @@ class Yn {
|
|
|
1181
1260
|
imageById: s,
|
|
1182
1261
|
object: u,
|
|
1183
1262
|
opacity: d,
|
|
1263
|
+
renderScale: 1,
|
|
1184
1264
|
renderObject: f,
|
|
1185
|
-
createPath2D: Ne
|
|
1265
|
+
createPath2D: Ne,
|
|
1266
|
+
slideSize: i.size
|
|
1186
1267
|
});
|
|
1187
1268
|
}
|
|
1188
1269
|
for (const g of c.objects)
|
|
@@ -1190,13 +1271,13 @@ class Yn {
|
|
|
1190
1271
|
}
|
|
1191
1272
|
}
|
|
1192
1273
|
var we = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
1193
|
-
function
|
|
1274
|
+
function Nr(t) {
|
|
1194
1275
|
return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
|
|
1195
1276
|
}
|
|
1196
1277
|
function xe(t) {
|
|
1197
1278
|
throw new Error('Could not dynamically require "' + t + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
|
|
1198
1279
|
}
|
|
1199
|
-
var
|
|
1280
|
+
var _e = { exports: {} };
|
|
1200
1281
|
/*!
|
|
1201
1282
|
|
|
1202
1283
|
JSZip v3.10.1 - A JavaScript class for generating and reading zip files
|
|
@@ -1208,9 +1289,9 @@ Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/js
|
|
|
1208
1289
|
JSZip uses the library pako released under the MIT license :
|
|
1209
1290
|
https://github.com/nodeca/pako/blob/main/LICENSE
|
|
1210
1291
|
*/
|
|
1211
|
-
var
|
|
1212
|
-
function
|
|
1213
|
-
return
|
|
1292
|
+
var va;
|
|
1293
|
+
function Tr() {
|
|
1294
|
+
return va || (va = 1, (function(t, n) {
|
|
1214
1295
|
(function(e) {
|
|
1215
1296
|
t.exports = e();
|
|
1216
1297
|
})(function() {
|
|
@@ -1325,20 +1406,20 @@ function Dr() {
|
|
|
1325
1406
|
return y;
|
|
1326
1407
|
}
|
|
1327
1408
|
function s(d, m, u, y, v, b) {
|
|
1328
|
-
var x, k, L = d.file, R = d.compression, N = b !== r.utf8encode, U = c.transformTo("string", b(L.name)), P = c.transformTo("string", r.utf8encode(L.name)), E = L.comment, J = c.transformTo("string", b(E)), B = c.transformTo("string", r.utf8encode(E)),
|
|
1409
|
+
var x, k, L = d.file, R = d.compression, N = b !== r.utf8encode, U = c.transformTo("string", b(L.name)), P = c.transformTo("string", r.utf8encode(L.name)), E = L.comment, J = c.transformTo("string", b(E)), B = c.transformTo("string", r.utf8encode(E)), M = P.length !== L.name.length, p = B.length !== E.length, I = "", K = "", O = "", at = L.dir, G = L.date, $ = { crc32: 0, compressedSize: 0, uncompressedSize: 0 };
|
|
1329
1410
|
m && !u || ($.crc32 = d.crc32, $.compressedSize = d.compressedSize, $.uncompressedSize = d.uncompressedSize);
|
|
1330
1411
|
var S = 0;
|
|
1331
|
-
m && (S |= 8), N || !
|
|
1332
|
-
var
|
|
1333
|
-
at && (
|
|
1412
|
+
m && (S |= 8), N || !M && !p || (S |= 2048);
|
|
1413
|
+
var F = 0, j = 0;
|
|
1414
|
+
at && (F |= 16), v === "UNIX" ? (j = 798, F |= (function(Y, At) {
|
|
1334
1415
|
var xt = Y;
|
|
1335
1416
|
return Y || (xt = At ? 16893 : 33204), (65535 & xt) << 16;
|
|
1336
|
-
})(L.unixPermissions, at)) : (j = 20,
|
|
1417
|
+
})(L.unixPermissions, at)) : (j = 20, F |= (function(Y) {
|
|
1337
1418
|
return 63 & (Y || 0);
|
|
1338
|
-
})(L.dosPermissions)), x = G.getUTCHours(), x <<= 6, x |= G.getUTCMinutes(), x <<= 5, x |= G.getUTCSeconds() / 2, k = G.getUTCFullYear() - 1980, k <<= 4, k |= G.getUTCMonth() + 1, k <<= 5, k |= G.getUTCDate(),
|
|
1419
|
+
})(L.dosPermissions)), x = G.getUTCHours(), x <<= 6, x |= G.getUTCMinutes(), x <<= 5, x |= G.getUTCSeconds() / 2, k = G.getUTCFullYear() - 1980, k <<= 4, k |= G.getUTCMonth() + 1, k <<= 5, k |= G.getUTCDate(), M && (K = i(1, 1) + i(o(U), 4) + P, I += "up" + i(K.length, 2) + K), p && (O = i(1, 1) + i(o(J), 4) + B, I += "uc" + i(O.length, 2) + O);
|
|
1339
1420
|
var H = "";
|
|
1340
1421
|
return H += `
|
|
1341
|
-
\0`, H += i(S, 2), H += R.magic, H += i(x, 2), H += i(k, 2), H += i($.crc32, 4), H += i($.compressedSize, 4), H += i($.uncompressedSize, 4), H += i(U.length, 2), H += i(I.length, 2), { fileRecord: f.LOCAL_FILE_HEADER + H + U + I, dirRecord: f.CENTRAL_FILE_HEADER + i(j, 2) + H + i(J.length, 2) + "\0\0\0\0" + i(
|
|
1422
|
+
\0`, H += i(S, 2), H += R.magic, H += i(x, 2), H += i(k, 2), H += i($.crc32, 4), H += i($.compressedSize, 4), H += i($.uncompressedSize, 4), H += i(U.length, 2), H += i(I.length, 2), { fileRecord: f.LOCAL_FILE_HEADER + H + U + I, dirRecord: f.CENTRAL_FILE_HEADER + i(j, 2) + H + i(J.length, 2) + "\0\0\0\0" + i(F, 4) + i(y, 4) + U + I + J };
|
|
1342
1423
|
}
|
|
1343
1424
|
var c = e("../utils"), l = e("../stream/GenericWorker"), r = e("../utf8"), o = e("../crc32"), f = e("../signature");
|
|
1344
1425
|
function g(d, m, u, y) {
|
|
@@ -1513,8 +1594,8 @@ function Dr() {
|
|
|
1513
1594
|
N && N.binary !== void 0 || (E.binary = !J), (R instanceof f && R.uncompressedSize === 0 || E.dir || !R || R.length === 0) && (E.base64 = !1, E.binary = !0, R = "", E.compression = "STORE", P = "string");
|
|
1514
1595
|
var B = null;
|
|
1515
1596
|
B = R instanceof f || R instanceof l ? R : m.isNode && m.isStream(R) ? new u(L, R) : c.prepareContent(L, R, E.binary, E.optimizedBinaryString, E.base64);
|
|
1516
|
-
var
|
|
1517
|
-
this.files[L] =
|
|
1597
|
+
var M = new g(L, B, E);
|
|
1598
|
+
this.files[L] = M;
|
|
1518
1599
|
}
|
|
1519
1600
|
var s = e("./utf8"), c = e("./utils"), l = e("./stream/GenericWorker"), r = e("./stream/StreamHelper"), o = e("./defaults"), f = e("./compressedObject"), g = e("./zipObject"), d = e("./generate"), m = e("./nodejsUtils"), u = e("./nodejs/NodejsStreamInputAdapter"), y = function(L) {
|
|
1520
1601
|
L.slice(-1) === "/" && (L = L.substring(0, L.length - 1));
|
|
@@ -2562,7 +2643,7 @@ function Dr() {
|
|
|
2562
2643
|
return -1 ^ s;
|
|
2563
2644
|
};
|
|
2564
2645
|
}, {}], 46: [function(e, A, a) {
|
|
2565
|
-
var i, s = e("../utils/common"), c = e("./trees"), l = e("./adler32"), r = e("./crc32"), o = e("./messages"), f = 0, g = 4, d = 0, m = -2, u = -1, y = 4, v = 2, b = 8, x = 9, k = 286, L = 30, R = 19, N = 2 * k + 1, U = 15, P = 3, E = 258, J = E + P + 1, B = 42,
|
|
2646
|
+
var i, s = e("../utils/common"), c = e("./trees"), l = e("./adler32"), r = e("./crc32"), o = e("./messages"), f = 0, g = 4, d = 0, m = -2, u = -1, y = 4, v = 2, b = 8, x = 9, k = 286, L = 30, R = 19, N = 2 * k + 1, U = 15, P = 3, E = 258, J = E + P + 1, B = 42, M = 113, p = 1, I = 2, K = 3, O = 4;
|
|
2566
2647
|
function at(h, z) {
|
|
2567
2648
|
return h.msg = o[z], z;
|
|
2568
2649
|
}
|
|
@@ -2573,10 +2654,10 @@ function Dr() {
|
|
|
2573
2654
|
for (var z = h.length; 0 <= --z; ) h[z] = 0;
|
|
2574
2655
|
}
|
|
2575
2656
|
function S(h) {
|
|
2576
|
-
var z = h.state,
|
|
2577
|
-
|
|
2657
|
+
var z = h.state, _ = z.pending;
|
|
2658
|
+
_ > h.avail_out && (_ = h.avail_out), _ !== 0 && (s.arraySet(h.output, z.pending_buf, z.pending_out, _, h.next_out), h.next_out += _, z.pending_out += _, h.total_out += _, h.avail_out -= _, z.pending -= _, z.pending === 0 && (z.pending_out = 0));
|
|
2578
2659
|
}
|
|
2579
|
-
function
|
|
2660
|
+
function F(h, z) {
|
|
2580
2661
|
c._tr_flush_block(h, 0 <= h.block_start ? h.block_start : -1, h.strstart - h.block_start, z), h.block_start = h.strstart, S(h.strm);
|
|
2581
2662
|
}
|
|
2582
2663
|
function j(h, z) {
|
|
@@ -2586,112 +2667,112 @@ function Dr() {
|
|
|
2586
2667
|
h.pending_buf[h.pending++] = z >>> 8 & 255, h.pending_buf[h.pending++] = 255 & z;
|
|
2587
2668
|
}
|
|
2588
2669
|
function Y(h, z) {
|
|
2589
|
-
var
|
|
2590
|
-
h.prev_length >= h.good_match && (w >>= 2),
|
|
2670
|
+
var _, C, w = h.max_chain_length, D = h.strstart, X = h.prev_length, Q = h.nice_match, T = h.strstart > h.w_size - J ? h.strstart - (h.w_size - J) : 0, V = h.window, Z = h.w_mask, q = h.prev, tt = h.strstart + E, yt = V[D + X - 1], pt = V[D + X];
|
|
2671
|
+
h.prev_length >= h.good_match && (w >>= 2), Q > h.lookahead && (Q = h.lookahead);
|
|
2591
2672
|
do
|
|
2592
|
-
if (V[(
|
|
2593
|
-
D += 2,
|
|
2673
|
+
if (V[(_ = z) + X] === pt && V[_ + X - 1] === yt && V[_] === V[D] && V[++_] === V[D + 1]) {
|
|
2674
|
+
D += 2, _++;
|
|
2594
2675
|
do
|
|
2595
2676
|
;
|
|
2596
|
-
while (V[++D] === V[++
|
|
2677
|
+
while (V[++D] === V[++_] && V[++D] === V[++_] && V[++D] === V[++_] && V[++D] === V[++_] && V[++D] === V[++_] && V[++D] === V[++_] && V[++D] === V[++_] && V[++D] === V[++_] && D < tt);
|
|
2597
2678
|
if (C = E - (tt - D), D = tt - E, X < C) {
|
|
2598
|
-
if (h.match_start = z,
|
|
2599
|
-
|
|
2679
|
+
if (h.match_start = z, Q <= (X = C)) break;
|
|
2680
|
+
yt = V[D + X - 1], pt = V[D + X];
|
|
2600
2681
|
}
|
|
2601
2682
|
}
|
|
2602
|
-
while ((z = q[z & Z]) >
|
|
2683
|
+
while ((z = q[z & Z]) > T && --w != 0);
|
|
2603
2684
|
return X <= h.lookahead ? X : h.lookahead;
|
|
2604
2685
|
}
|
|
2605
2686
|
function At(h) {
|
|
2606
|
-
var z,
|
|
2687
|
+
var z, _, C, w, D, X, Q, T, V, Z, q = h.w_size;
|
|
2607
2688
|
do {
|
|
2608
2689
|
if (w = h.window_size - h.lookahead - h.strstart, h.strstart >= q + (q - J)) {
|
|
2609
|
-
for (s.arraySet(h.window, h.window, q, q, 0), h.match_start -= q, h.strstart -= q, h.block_start -= q, z =
|
|
2610
|
-
for (z =
|
|
2690
|
+
for (s.arraySet(h.window, h.window, q, q, 0), h.match_start -= q, h.strstart -= q, h.block_start -= q, z = _ = h.hash_size; C = h.head[--z], h.head[z] = q <= C ? C - q : 0, --_; ) ;
|
|
2691
|
+
for (z = _ = q; C = h.prev[--z], h.prev[z] = q <= C ? C - q : 0, --_; ) ;
|
|
2611
2692
|
w += q;
|
|
2612
2693
|
}
|
|
2613
2694
|
if (h.strm.avail_in === 0) break;
|
|
2614
|
-
if (X = h.strm,
|
|
2695
|
+
if (X = h.strm, Q = h.window, T = h.strstart + h.lookahead, V = w, Z = void 0, Z = X.avail_in, V < Z && (Z = V), _ = Z === 0 ? 0 : (X.avail_in -= Z, s.arraySet(Q, X.input, X.next_in, Z, T), X.state.wrap === 1 ? X.adler = l(X.adler, Q, Z, T) : X.state.wrap === 2 && (X.adler = r(X.adler, Q, Z, T)), X.next_in += Z, X.total_in += Z, Z), h.lookahead += _, h.lookahead + h.insert >= P) for (D = h.strstart - h.insert, h.ins_h = h.window[D], h.ins_h = (h.ins_h << h.hash_shift ^ h.window[D + 1]) & h.hash_mask; h.insert && (h.ins_h = (h.ins_h << h.hash_shift ^ h.window[D + P - 1]) & h.hash_mask, h.prev[D & h.w_mask] = h.head[h.ins_h], h.head[h.ins_h] = D, D++, h.insert--, !(h.lookahead + h.insert < P)); ) ;
|
|
2615
2696
|
} while (h.lookahead < J && h.strm.avail_in !== 0);
|
|
2616
2697
|
}
|
|
2617
2698
|
function xt(h, z) {
|
|
2618
|
-
for (var
|
|
2699
|
+
for (var _, C; ; ) {
|
|
2619
2700
|
if (h.lookahead < J) {
|
|
2620
2701
|
if (At(h), h.lookahead < J && z === f) return p;
|
|
2621
2702
|
if (h.lookahead === 0) break;
|
|
2622
2703
|
}
|
|
2623
|
-
if (
|
|
2624
|
-
for (h.match_length--; h.strstart++, h.ins_h = (h.ins_h << h.hash_shift ^ h.window[h.strstart + P - 1]) & h.hash_mask,
|
|
2704
|
+
if (_ = 0, h.lookahead >= P && (h.ins_h = (h.ins_h << h.hash_shift ^ h.window[h.strstart + P - 1]) & h.hash_mask, _ = h.prev[h.strstart & h.w_mask] = h.head[h.ins_h], h.head[h.ins_h] = h.strstart), _ !== 0 && h.strstart - _ <= h.w_size - J && (h.match_length = Y(h, _)), h.match_length >= P) if (C = c._tr_tally(h, h.strstart - h.match_start, h.match_length - P), h.lookahead -= h.match_length, h.match_length <= h.max_lazy_match && h.lookahead >= P) {
|
|
2705
|
+
for (h.match_length--; h.strstart++, h.ins_h = (h.ins_h << h.hash_shift ^ h.window[h.strstart + P - 1]) & h.hash_mask, _ = h.prev[h.strstart & h.w_mask] = h.head[h.ins_h], h.head[h.ins_h] = h.strstart, --h.match_length != 0; ) ;
|
|
2625
2706
|
h.strstart++;
|
|
2626
2707
|
} else h.strstart += h.match_length, h.match_length = 0, h.ins_h = h.window[h.strstart], h.ins_h = (h.ins_h << h.hash_shift ^ h.window[h.strstart + 1]) & h.hash_mask;
|
|
2627
2708
|
else C = c._tr_tally(h, 0, h.window[h.strstart]), h.lookahead--, h.strstart++;
|
|
2628
|
-
if (C && (
|
|
2709
|
+
if (C && (F(h, !1), h.strm.avail_out === 0)) return p;
|
|
2629
2710
|
}
|
|
2630
|
-
return h.insert = h.strstart < P - 1 ? h.strstart : P - 1, z === g ? (
|
|
2711
|
+
return h.insert = h.strstart < P - 1 ? h.strstart : P - 1, z === g ? (F(h, !0), h.strm.avail_out === 0 ? K : O) : h.last_lit && (F(h, !1), h.strm.avail_out === 0) ? p : I;
|
|
2631
2712
|
}
|
|
2632
2713
|
function dt(h, z) {
|
|
2633
|
-
for (var
|
|
2714
|
+
for (var _, C, w; ; ) {
|
|
2634
2715
|
if (h.lookahead < J) {
|
|
2635
2716
|
if (At(h), h.lookahead < J && z === f) return p;
|
|
2636
2717
|
if (h.lookahead === 0) break;
|
|
2637
2718
|
}
|
|
2638
|
-
if (
|
|
2639
|
-
for (w = h.strstart + h.lookahead - P, C = c._tr_tally(h, h.strstart - 1 - h.prev_match, h.prev_length - P), h.lookahead -= h.prev_length - 1, h.prev_length -= 2; ++h.strstart <= w && (h.ins_h = (h.ins_h << h.hash_shift ^ h.window[h.strstart + P - 1]) & h.hash_mask,
|
|
2640
|
-
if (h.match_available = 0, h.match_length = P - 1, h.strstart++, C && (
|
|
2719
|
+
if (_ = 0, h.lookahead >= P && (h.ins_h = (h.ins_h << h.hash_shift ^ h.window[h.strstart + P - 1]) & h.hash_mask, _ = h.prev[h.strstart & h.w_mask] = h.head[h.ins_h], h.head[h.ins_h] = h.strstart), h.prev_length = h.match_length, h.prev_match = h.match_start, h.match_length = P - 1, _ !== 0 && h.prev_length < h.max_lazy_match && h.strstart - _ <= h.w_size - J && (h.match_length = Y(h, _), h.match_length <= 5 && (h.strategy === 1 || h.match_length === P && 4096 < h.strstart - h.match_start) && (h.match_length = P - 1)), h.prev_length >= P && h.match_length <= h.prev_length) {
|
|
2720
|
+
for (w = h.strstart + h.lookahead - P, C = c._tr_tally(h, h.strstart - 1 - h.prev_match, h.prev_length - P), h.lookahead -= h.prev_length - 1, h.prev_length -= 2; ++h.strstart <= w && (h.ins_h = (h.ins_h << h.hash_shift ^ h.window[h.strstart + P - 1]) & h.hash_mask, _ = h.prev[h.strstart & h.w_mask] = h.head[h.ins_h], h.head[h.ins_h] = h.strstart), --h.prev_length != 0; ) ;
|
|
2721
|
+
if (h.match_available = 0, h.match_length = P - 1, h.strstart++, C && (F(h, !1), h.strm.avail_out === 0)) return p;
|
|
2641
2722
|
} else if (h.match_available) {
|
|
2642
|
-
if ((C = c._tr_tally(h, 0, h.window[h.strstart - 1])) &&
|
|
2723
|
+
if ((C = c._tr_tally(h, 0, h.window[h.strstart - 1])) && F(h, !1), h.strstart++, h.lookahead--, h.strm.avail_out === 0) return p;
|
|
2643
2724
|
} else h.match_available = 1, h.strstart++, h.lookahead--;
|
|
2644
2725
|
}
|
|
2645
|
-
return h.match_available && (C = c._tr_tally(h, 0, h.window[h.strstart - 1]), h.match_available = 0), h.insert = h.strstart < P - 1 ? h.strstart : P - 1, z === g ? (
|
|
2726
|
+
return h.match_available && (C = c._tr_tally(h, 0, h.window[h.strstart - 1]), h.match_available = 0), h.insert = h.strstart < P - 1 ? h.strstart : P - 1, z === g ? (F(h, !0), h.strm.avail_out === 0 ? K : O) : h.last_lit && (F(h, !1), h.strm.avail_out === 0) ? p : I;
|
|
2646
2727
|
}
|
|
2647
|
-
function ft(h, z,
|
|
2648
|
-
this.good_length = h, this.max_lazy = z, this.nice_length =
|
|
2728
|
+
function ft(h, z, _, C, w) {
|
|
2729
|
+
this.good_length = h, this.max_lazy = z, this.nice_length = _, this.max_chain = C, this.func = w;
|
|
2649
2730
|
}
|
|
2650
2731
|
function wt() {
|
|
2651
2732
|
this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = b, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new s.Buf16(2 * N), this.dyn_dtree = new s.Buf16(2 * (2 * L + 1)), this.bl_tree = new s.Buf16(2 * (2 * R + 1)), $(this.dyn_ltree), $(this.dyn_dtree), $(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new s.Buf16(U + 1), this.heap = new s.Buf16(2 * k + 1), $(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new s.Buf16(2 * k + 1), $(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;
|
|
2652
2733
|
}
|
|
2653
2734
|
function lt(h) {
|
|
2654
2735
|
var z;
|
|
2655
|
-
return h && h.state ? (h.total_in = h.total_out = 0, h.data_type = v, (z = h.state).pending = 0, z.pending_out = 0, z.wrap < 0 && (z.wrap = -z.wrap), z.status = z.wrap ? B :
|
|
2736
|
+
return h && h.state ? (h.total_in = h.total_out = 0, h.data_type = v, (z = h.state).pending = 0, z.pending_out = 0, z.wrap < 0 && (z.wrap = -z.wrap), z.status = z.wrap ? B : M, h.adler = z.wrap === 2 ? 0 : 1, z.last_flush = f, c._tr_init(z), d) : at(h, m);
|
|
2656
2737
|
}
|
|
2657
2738
|
function kt(h) {
|
|
2658
2739
|
var z = lt(h);
|
|
2659
|
-
return z === d && (function(
|
|
2660
|
-
|
|
2740
|
+
return z === d && (function(_) {
|
|
2741
|
+
_.window_size = 2 * _.w_size, $(_.head), _.max_lazy_match = i[_.level].max_lazy, _.good_match = i[_.level].good_length, _.nice_match = i[_.level].nice_length, _.max_chain_length = i[_.level].max_chain, _.strstart = 0, _.block_start = 0, _.lookahead = 0, _.insert = 0, _.match_length = _.prev_length = P - 1, _.match_available = 0, _.ins_h = 0;
|
|
2661
2742
|
})(h.state), z;
|
|
2662
2743
|
}
|
|
2663
|
-
function ut(h, z,
|
|
2744
|
+
function ut(h, z, _, C, w, D) {
|
|
2664
2745
|
if (!h) return m;
|
|
2665
2746
|
var X = 1;
|
|
2666
|
-
if (z === u && (z = 6), C < 0 ? (X = 0, C = -C) : 15 < C && (X = 2, C -= 16), w < 1 || x < w ||
|
|
2747
|
+
if (z === u && (z = 6), C < 0 ? (X = 0, C = -C) : 15 < C && (X = 2, C -= 16), w < 1 || x < w || _ !== b || C < 8 || 15 < C || z < 0 || 9 < z || D < 0 || y < D) return at(h, m);
|
|
2667
2748
|
C === 8 && (C = 9);
|
|
2668
|
-
var
|
|
2669
|
-
return (h.state =
|
|
2749
|
+
var Q = new wt();
|
|
2750
|
+
return (h.state = Q).strm = h, Q.wrap = X, Q.gzhead = null, Q.w_bits = C, Q.w_size = 1 << Q.w_bits, Q.w_mask = Q.w_size - 1, Q.hash_bits = w + 7, Q.hash_size = 1 << Q.hash_bits, Q.hash_mask = Q.hash_size - 1, Q.hash_shift = ~~((Q.hash_bits + P - 1) / P), Q.window = new s.Buf8(2 * Q.w_size), Q.head = new s.Buf16(Q.hash_size), Q.prev = new s.Buf16(Q.w_size), Q.lit_bufsize = 1 << w + 6, Q.pending_buf_size = 4 * Q.lit_bufsize, Q.pending_buf = new s.Buf8(Q.pending_buf_size), Q.d_buf = 1 * Q.lit_bufsize, Q.l_buf = 3 * Q.lit_bufsize, Q.level = z, Q.strategy = D, Q.method = _, kt(h);
|
|
2670
2751
|
}
|
|
2671
2752
|
i = [new ft(0, 0, 0, 0, function(h, z) {
|
|
2672
|
-
var
|
|
2673
|
-
for (
|
|
2753
|
+
var _ = 65535;
|
|
2754
|
+
for (_ > h.pending_buf_size - 5 && (_ = h.pending_buf_size - 5); ; ) {
|
|
2674
2755
|
if (h.lookahead <= 1) {
|
|
2675
2756
|
if (At(h), h.lookahead === 0 && z === f) return p;
|
|
2676
2757
|
if (h.lookahead === 0) break;
|
|
2677
2758
|
}
|
|
2678
2759
|
h.strstart += h.lookahead, h.lookahead = 0;
|
|
2679
|
-
var C = h.block_start +
|
|
2680
|
-
if ((h.strstart === 0 || h.strstart >= C) && (h.lookahead = h.strstart - C, h.strstart = C,
|
|
2760
|
+
var C = h.block_start + _;
|
|
2761
|
+
if ((h.strstart === 0 || h.strstart >= C) && (h.lookahead = h.strstart - C, h.strstart = C, F(h, !1), h.strm.avail_out === 0) || h.strstart - h.block_start >= h.w_size - J && (F(h, !1), h.strm.avail_out === 0)) return p;
|
|
2681
2762
|
}
|
|
2682
|
-
return h.insert = 0, z === g ? (
|
|
2763
|
+
return h.insert = 0, z === g ? (F(h, !0), h.strm.avail_out === 0 ? K : O) : (h.strstart > h.block_start && (F(h, !1), h.strm.avail_out), p);
|
|
2683
2764
|
}), new ft(4, 4, 8, 4, xt), new ft(4, 5, 16, 8, xt), new ft(4, 6, 32, 32, xt), new ft(4, 4, 16, 16, dt), new ft(8, 16, 32, 32, dt), new ft(8, 16, 128, 128, dt), new ft(8, 32, 128, 256, dt), new ft(32, 128, 258, 1024, dt), new ft(32, 258, 258, 4096, dt)], a.deflateInit = function(h, z) {
|
|
2684
2765
|
return ut(h, z, b, 15, 8, 0);
|
|
2685
2766
|
}, a.deflateInit2 = ut, a.deflateReset = kt, a.deflateResetKeep = lt, a.deflateSetHeader = function(h, z) {
|
|
2686
2767
|
return h && h.state ? h.state.wrap !== 2 ? m : (h.state.gzhead = z, d) : m;
|
|
2687
2768
|
}, a.deflate = function(h, z) {
|
|
2688
|
-
var
|
|
2769
|
+
var _, C, w, D;
|
|
2689
2770
|
if (!h || !h.state || 5 < z || z < 0) return h ? at(h, m) : m;
|
|
2690
2771
|
if (C = h.state, !h.output || !h.input && h.avail_in !== 0 || C.status === 666 && z !== g) return at(h, h.avail_out === 0 ? -5 : m);
|
|
2691
|
-
if (C.strm = h,
|
|
2772
|
+
if (C.strm = h, _ = C.last_flush, C.last_flush = z, C.status === B) if (C.wrap === 2) h.adler = 0, j(C, 31), j(C, 139), j(C, 8), C.gzhead ? (j(C, (C.gzhead.text ? 1 : 0) + (C.gzhead.hcrc ? 2 : 0) + (C.gzhead.extra ? 4 : 0) + (C.gzhead.name ? 8 : 0) + (C.gzhead.comment ? 16 : 0)), j(C, 255 & C.gzhead.time), j(C, C.gzhead.time >> 8 & 255), j(C, C.gzhead.time >> 16 & 255), j(C, C.gzhead.time >> 24 & 255), j(C, C.level === 9 ? 2 : 2 <= C.strategy || C.level < 2 ? 4 : 0), j(C, 255 & C.gzhead.os), C.gzhead.extra && C.gzhead.extra.length && (j(C, 255 & C.gzhead.extra.length), j(C, C.gzhead.extra.length >> 8 & 255)), C.gzhead.hcrc && (h.adler = r(h.adler, C.pending_buf, C.pending, 0)), C.gzindex = 0, C.status = 69) : (j(C, 0), j(C, 0), j(C, 0), j(C, 0), j(C, 0), j(C, C.level === 9 ? 2 : 2 <= C.strategy || C.level < 2 ? 4 : 0), j(C, 3), C.status = M);
|
|
2692
2773
|
else {
|
|
2693
2774
|
var X = b + (C.w_bits - 8 << 4) << 8;
|
|
2694
|
-
X |= (2 <= C.strategy || C.level < 2 ? 0 : C.level < 6 ? 1 : C.level === 6 ? 2 : 3) << 6, C.strstart !== 0 && (X |= 32), X += 31 - X % 31, C.status =
|
|
2775
|
+
X |= (2 <= C.strategy || C.level < 2 ? 0 : C.level < 6 ? 1 : C.level === 6 ? 2 : 3) << 6, C.strstart !== 0 && (X |= 32), X += 31 - X % 31, C.status = M, H(C, X), C.strstart !== 0 && (H(C, h.adler >>> 16), H(C, 65535 & h.adler)), h.adler = 1;
|
|
2695
2776
|
}
|
|
2696
2777
|
if (C.status === 69) if (C.gzhead.extra) {
|
|
2697
2778
|
for (w = C.pending; C.gzindex < (65535 & C.gzhead.extra.length) && (C.pending !== C.pending_buf_size || (C.gzhead.hcrc && C.pending > w && (h.adler = r(h.adler, C.pending_buf, C.pending - w, w)), S(h), w = C.pending, C.pending !== C.pending_buf_size)); ) j(C, 255 & C.gzhead.extra[C.gzindex]), C.gzindex++;
|
|
@@ -2719,52 +2800,52 @@ function Dr() {
|
|
|
2719
2800
|
} while (D !== 0);
|
|
2720
2801
|
C.gzhead.hcrc && C.pending > w && (h.adler = r(h.adler, C.pending_buf, C.pending - w, w)), D === 0 && (C.status = 103);
|
|
2721
2802
|
} else C.status = 103;
|
|
2722
|
-
if (C.status === 103 && (C.gzhead.hcrc ? (C.pending + 2 > C.pending_buf_size && S(h), C.pending + 2 <= C.pending_buf_size && (j(C, 255 & h.adler), j(C, h.adler >> 8 & 255), h.adler = 0, C.status =
|
|
2803
|
+
if (C.status === 103 && (C.gzhead.hcrc ? (C.pending + 2 > C.pending_buf_size && S(h), C.pending + 2 <= C.pending_buf_size && (j(C, 255 & h.adler), j(C, h.adler >> 8 & 255), h.adler = 0, C.status = M)) : C.status = M), C.pending !== 0) {
|
|
2723
2804
|
if (S(h), h.avail_out === 0) return C.last_flush = -1, d;
|
|
2724
|
-
} else if (h.avail_in === 0 && G(z) <= G(
|
|
2805
|
+
} else if (h.avail_in === 0 && G(z) <= G(_) && z !== g) return at(h, -5);
|
|
2725
2806
|
if (C.status === 666 && h.avail_in !== 0) return at(h, -5);
|
|
2726
2807
|
if (h.avail_in !== 0 || C.lookahead !== 0 || z !== f && C.status !== 666) {
|
|
2727
|
-
var
|
|
2808
|
+
var Q = C.strategy === 2 ? (function(T, V) {
|
|
2728
2809
|
for (var Z; ; ) {
|
|
2729
|
-
if (
|
|
2810
|
+
if (T.lookahead === 0 && (At(T), T.lookahead === 0)) {
|
|
2730
2811
|
if (V === f) return p;
|
|
2731
2812
|
break;
|
|
2732
2813
|
}
|
|
2733
|
-
if (
|
|
2814
|
+
if (T.match_length = 0, Z = c._tr_tally(T, 0, T.window[T.strstart]), T.lookahead--, T.strstart++, Z && (F(T, !1), T.strm.avail_out === 0)) return p;
|
|
2734
2815
|
}
|
|
2735
|
-
return
|
|
2736
|
-
})(C, z) : C.strategy === 3 ? (function(
|
|
2737
|
-
for (var Z, q, tt,
|
|
2738
|
-
if (
|
|
2739
|
-
if (At(
|
|
2740
|
-
if (
|
|
2816
|
+
return T.insert = 0, V === g ? (F(T, !0), T.strm.avail_out === 0 ? K : O) : T.last_lit && (F(T, !1), T.strm.avail_out === 0) ? p : I;
|
|
2817
|
+
})(C, z) : C.strategy === 3 ? (function(T, V) {
|
|
2818
|
+
for (var Z, q, tt, yt, pt = T.window; ; ) {
|
|
2819
|
+
if (T.lookahead <= E) {
|
|
2820
|
+
if (At(T), T.lookahead <= E && V === f) return p;
|
|
2821
|
+
if (T.lookahead === 0) break;
|
|
2741
2822
|
}
|
|
2742
|
-
if (
|
|
2743
|
-
|
|
2823
|
+
if (T.match_length = 0, T.lookahead >= P && 0 < T.strstart && (q = pt[tt = T.strstart - 1]) === pt[++tt] && q === pt[++tt] && q === pt[++tt]) {
|
|
2824
|
+
yt = T.strstart + E;
|
|
2744
2825
|
do
|
|
2745
2826
|
;
|
|
2746
|
-
while (q === pt[++tt] && q === pt[++tt] && q === pt[++tt] && q === pt[++tt] && q === pt[++tt] && q === pt[++tt] && q === pt[++tt] && q === pt[++tt] && tt <
|
|
2747
|
-
|
|
2827
|
+
while (q === pt[++tt] && q === pt[++tt] && q === pt[++tt] && q === pt[++tt] && q === pt[++tt] && q === pt[++tt] && q === pt[++tt] && q === pt[++tt] && tt < yt);
|
|
2828
|
+
T.match_length = E - (yt - tt), T.match_length > T.lookahead && (T.match_length = T.lookahead);
|
|
2748
2829
|
}
|
|
2749
|
-
if (
|
|
2830
|
+
if (T.match_length >= P ? (Z = c._tr_tally(T, 1, T.match_length - P), T.lookahead -= T.match_length, T.strstart += T.match_length, T.match_length = 0) : (Z = c._tr_tally(T, 0, T.window[T.strstart]), T.lookahead--, T.strstart++), Z && (F(T, !1), T.strm.avail_out === 0)) return p;
|
|
2750
2831
|
}
|
|
2751
|
-
return
|
|
2832
|
+
return T.insert = 0, V === g ? (F(T, !0), T.strm.avail_out === 0 ? K : O) : T.last_lit && (F(T, !1), T.strm.avail_out === 0) ? p : I;
|
|
2752
2833
|
})(C, z) : i[C.level].func(C, z);
|
|
2753
|
-
if (
|
|
2754
|
-
if (
|
|
2834
|
+
if (Q !== K && Q !== O || (C.status = 666), Q === p || Q === K) return h.avail_out === 0 && (C.last_flush = -1), d;
|
|
2835
|
+
if (Q === I && (z === 1 ? c._tr_align(C) : z !== 5 && (c._tr_stored_block(C, 0, 0, !1), z === 3 && ($(C.head), C.lookahead === 0 && (C.strstart = 0, C.block_start = 0, C.insert = 0))), S(h), h.avail_out === 0)) return C.last_flush = -1, d;
|
|
2755
2836
|
}
|
|
2756
2837
|
return z !== g ? d : C.wrap <= 0 ? 1 : (C.wrap === 2 ? (j(C, 255 & h.adler), j(C, h.adler >> 8 & 255), j(C, h.adler >> 16 & 255), j(C, h.adler >> 24 & 255), j(C, 255 & h.total_in), j(C, h.total_in >> 8 & 255), j(C, h.total_in >> 16 & 255), j(C, h.total_in >> 24 & 255)) : (H(C, h.adler >>> 16), H(C, 65535 & h.adler)), S(h), 0 < C.wrap && (C.wrap = -C.wrap), C.pending !== 0 ? d : 1);
|
|
2757
2838
|
}, a.deflateEnd = function(h) {
|
|
2758
2839
|
var z;
|
|
2759
|
-
return h && h.state ? (z = h.state.status) !== B && z !== 69 && z !== 73 && z !== 91 && z !== 103 && z !==
|
|
2840
|
+
return h && h.state ? (z = h.state.status) !== B && z !== 69 && z !== 73 && z !== 91 && z !== 103 && z !== M && z !== 666 ? at(h, m) : (h.state = null, z === M ? at(h, -3) : d) : m;
|
|
2760
2841
|
}, a.deflateSetDictionary = function(h, z) {
|
|
2761
|
-
var
|
|
2762
|
-
if (!h || !h.state || (D = (
|
|
2763
|
-
for (D === 1 && (h.adler = l(h.adler, z, Z, 0)),
|
|
2764
|
-
for (C =
|
|
2765
|
-
|
|
2842
|
+
var _, C, w, D, X, Q, T, V, Z = z.length;
|
|
2843
|
+
if (!h || !h.state || (D = (_ = h.state).wrap) === 2 || D === 1 && _.status !== B || _.lookahead) return m;
|
|
2844
|
+
for (D === 1 && (h.adler = l(h.adler, z, Z, 0)), _.wrap = 0, Z >= _.w_size && (D === 0 && ($(_.head), _.strstart = 0, _.block_start = 0, _.insert = 0), V = new s.Buf8(_.w_size), s.arraySet(V, z, Z - _.w_size, _.w_size, 0), z = V, Z = _.w_size), X = h.avail_in, Q = h.next_in, T = h.input, h.avail_in = Z, h.next_in = 0, h.input = z, At(_); _.lookahead >= P; ) {
|
|
2845
|
+
for (C = _.strstart, w = _.lookahead - (P - 1); _.ins_h = (_.ins_h << _.hash_shift ^ _.window[C + P - 1]) & _.hash_mask, _.prev[C & _.w_mask] = _.head[_.ins_h], _.head[_.ins_h] = C, C++, --w; ) ;
|
|
2846
|
+
_.strstart = C, _.lookahead = P - 1, At(_);
|
|
2766
2847
|
}
|
|
2767
|
-
return
|
|
2848
|
+
return _.strstart += _.lookahead, _.block_start = _.strstart, _.insert = _.lookahead, _.lookahead = 0, _.match_length = _.prev_length = P - 1, _.match_available = 0, h.next_in = Q, h.input = T, h.avail_in = X, _.wrap = D, d;
|
|
2768
2849
|
}, a.deflateInfo = "pako deflate (from Nodeca project)";
|
|
2769
2850
|
}, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./messages": 51, "./trees": 52 }], 47: [function(e, A, a) {
|
|
2770
2851
|
A.exports = function() {
|
|
@@ -2772,7 +2853,7 @@ function Dr() {
|
|
|
2772
2853
|
};
|
|
2773
2854
|
}, {}], 48: [function(e, A, a) {
|
|
2774
2855
|
A.exports = function(i, s) {
|
|
2775
|
-
var c, l, r, o, f, g, d, m, u, y, v, b, x, k, L, R, N, U, P, E, J, B,
|
|
2856
|
+
var c, l, r, o, f, g, d, m, u, y, v, b, x, k, L, R, N, U, P, E, J, B, M, p, I;
|
|
2776
2857
|
c = i.state, l = i.next_in, p = i.input, r = l + (i.avail_in - 5), o = i.next_out, I = i.output, f = o - (s - i.avail_out), g = o + (i.avail_out - 257), d = c.dmax, m = c.wsize, u = c.whave, y = c.wnext, v = c.window, b = c.hold, x = c.bits, k = c.lencode, L = c.distcode, R = (1 << c.lenbits) - 1, N = (1 << c.distbits) - 1;
|
|
2777
2858
|
t: do {
|
|
2778
2859
|
x < 15 && (b += p[l++] << x, x += 8, b += p[l++] << x, x += 8), U = k[b & R];
|
|
@@ -2810,25 +2891,25 @@ function Dr() {
|
|
|
2810
2891
|
i.msg = "invalid distance too far back", c.mode = 30;
|
|
2811
2892
|
break t;
|
|
2812
2893
|
}
|
|
2813
|
-
if (
|
|
2894
|
+
if (M = v, (B = 0) === y) {
|
|
2814
2895
|
if (B += m - P, P < E) {
|
|
2815
2896
|
for (E -= P; I[o++] = v[B++], --P; ) ;
|
|
2816
|
-
B = o - J,
|
|
2897
|
+
B = o - J, M = I;
|
|
2817
2898
|
}
|
|
2818
2899
|
} else if (y < P) {
|
|
2819
2900
|
if (B += m + y - P, (P -= y) < E) {
|
|
2820
2901
|
for (E -= P; I[o++] = v[B++], --P; ) ;
|
|
2821
2902
|
if (B = 0, y < E) {
|
|
2822
2903
|
for (E -= P = y; I[o++] = v[B++], --P; ) ;
|
|
2823
|
-
B = o - J,
|
|
2904
|
+
B = o - J, M = I;
|
|
2824
2905
|
}
|
|
2825
2906
|
}
|
|
2826
2907
|
} else if (B += y - P, P < E) {
|
|
2827
2908
|
for (E -= P; I[o++] = v[B++], --P; ) ;
|
|
2828
|
-
B = o - J,
|
|
2909
|
+
B = o - J, M = I;
|
|
2829
2910
|
}
|
|
2830
|
-
for (; 2 < E; ) I[o++] =
|
|
2831
|
-
E && (I[o++] =
|
|
2911
|
+
for (; 2 < E; ) I[o++] = M[B++], I[o++] = M[B++], I[o++] = M[B++], E -= 3;
|
|
2912
|
+
E && (I[o++] = M[B++], 1 < E && (I[o++] = M[B++]));
|
|
2832
2913
|
} else {
|
|
2833
2914
|
for (B = o - J; I[o++] = I[B++], I[o++] = I[B++], I[o++] = I[B++], 2 < (E -= 3); ) ;
|
|
2834
2915
|
E && (I[o++] = I[B++], 1 < E && (I[o++] = I[B++]));
|
|
@@ -2850,56 +2931,56 @@ function Dr() {
|
|
|
2850
2931
|
this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new i.Buf16(320), this.work = new i.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;
|
|
2851
2932
|
}
|
|
2852
2933
|
function x(B) {
|
|
2853
|
-
var
|
|
2854
|
-
return B && B.state ? (
|
|
2934
|
+
var M;
|
|
2935
|
+
return B && B.state ? (M = B.state, B.total_in = B.total_out = M.total = 0, B.msg = "", M.wrap && (B.adler = 1 & M.wrap), M.mode = m, M.last = 0, M.havedict = 0, M.dmax = 32768, M.head = null, M.hold = 0, M.bits = 0, M.lencode = M.lendyn = new i.Buf32(u), M.distcode = M.distdyn = new i.Buf32(y), M.sane = 1, M.back = -1, g) : d;
|
|
2855
2936
|
}
|
|
2856
2937
|
function k(B) {
|
|
2857
|
-
var
|
|
2858
|
-
return B && B.state ? ((
|
|
2938
|
+
var M;
|
|
2939
|
+
return B && B.state ? ((M = B.state).wsize = 0, M.whave = 0, M.wnext = 0, x(B)) : d;
|
|
2859
2940
|
}
|
|
2860
|
-
function L(B,
|
|
2941
|
+
function L(B, M) {
|
|
2861
2942
|
var p, I;
|
|
2862
|
-
return B && B.state ? (I = B.state,
|
|
2943
|
+
return B && B.state ? (I = B.state, M < 0 ? (p = 0, M = -M) : (p = 1 + (M >> 4), M < 48 && (M &= 15)), M && (M < 8 || 15 < M) ? d : (I.window !== null && I.wbits !== M && (I.window = null), I.wrap = p, I.wbits = M, k(B))) : d;
|
|
2863
2944
|
}
|
|
2864
|
-
function R(B,
|
|
2945
|
+
function R(B, M) {
|
|
2865
2946
|
var p, I;
|
|
2866
|
-
return B ? (I = new b(), (B.state = I).window = null, (p = L(B,
|
|
2947
|
+
return B ? (I = new b(), (B.state = I).window = null, (p = L(B, M)) !== g && (B.state = null), p) : d;
|
|
2867
2948
|
}
|
|
2868
2949
|
var N, U, P = !0;
|
|
2869
2950
|
function E(B) {
|
|
2870
2951
|
if (P) {
|
|
2871
|
-
var
|
|
2872
|
-
for (N = new i.Buf32(512), U = new i.Buf32(32),
|
|
2873
|
-
for (;
|
|
2874
|
-
for (;
|
|
2875
|
-
for (;
|
|
2876
|
-
for (r(o, B.lens, 0, 288, N, 0, B.work, { bits: 9 }),
|
|
2952
|
+
var M;
|
|
2953
|
+
for (N = new i.Buf32(512), U = new i.Buf32(32), M = 0; M < 144; ) B.lens[M++] = 8;
|
|
2954
|
+
for (; M < 256; ) B.lens[M++] = 9;
|
|
2955
|
+
for (; M < 280; ) B.lens[M++] = 7;
|
|
2956
|
+
for (; M < 288; ) B.lens[M++] = 8;
|
|
2957
|
+
for (r(o, B.lens, 0, 288, N, 0, B.work, { bits: 9 }), M = 0; M < 32; ) B.lens[M++] = 5;
|
|
2877
2958
|
r(f, B.lens, 0, 32, U, 0, B.work, { bits: 5 }), P = !1;
|
|
2878
2959
|
}
|
|
2879
2960
|
B.lencode = N, B.lenbits = 9, B.distcode = U, B.distbits = 5;
|
|
2880
2961
|
}
|
|
2881
|
-
function J(B,
|
|
2962
|
+
function J(B, M, p, I) {
|
|
2882
2963
|
var K, O = B.state;
|
|
2883
|
-
return O.window === null && (O.wsize = 1 << O.wbits, O.wnext = 0, O.whave = 0, O.window = new i.Buf8(O.wsize)), I >= O.wsize ? (i.arraySet(O.window,
|
|
2964
|
+
return O.window === null && (O.wsize = 1 << O.wbits, O.wnext = 0, O.whave = 0, O.window = new i.Buf8(O.wsize)), I >= O.wsize ? (i.arraySet(O.window, M, p - O.wsize, O.wsize, 0), O.wnext = 0, O.whave = O.wsize) : (I < (K = O.wsize - O.wnext) && (K = I), i.arraySet(O.window, M, p - I, K, O.wnext), (I -= K) ? (i.arraySet(O.window, M, p - I, I, 0), O.wnext = I, O.whave = O.wsize) : (O.wnext += K, O.wnext === O.wsize && (O.wnext = 0), O.whave < O.wsize && (O.whave += K))), 0;
|
|
2884
2965
|
}
|
|
2885
2966
|
a.inflateReset = k, a.inflateReset2 = L, a.inflateResetKeep = x, a.inflateInit = function(B) {
|
|
2886
2967
|
return R(B, 15);
|
|
2887
|
-
}, a.inflateInit2 = R, a.inflate = function(B,
|
|
2888
|
-
var p, I, K, O, at, G, $, S,
|
|
2968
|
+
}, a.inflateInit2 = R, a.inflate = function(B, M) {
|
|
2969
|
+
var p, I, K, O, at, G, $, S, F, j, H, Y, At, xt, dt, ft, wt, lt, kt, ut, h, z, _, C, w = 0, D = new i.Buf8(4), X = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
|
|
2889
2970
|
if (!B || !B.state || !B.output || !B.input && B.avail_in !== 0) return d;
|
|
2890
|
-
(p = B.state).mode === 12 && (p.mode = 13), at = B.next_out, K = B.output, $ = B.avail_out, O = B.next_in, I = B.input, G = B.avail_in, S = p.hold,
|
|
2971
|
+
(p = B.state).mode === 12 && (p.mode = 13), at = B.next_out, K = B.output, $ = B.avail_out, O = B.next_in, I = B.input, G = B.avail_in, S = p.hold, F = p.bits, j = G, H = $, z = g;
|
|
2891
2972
|
t: for (; ; ) switch (p.mode) {
|
|
2892
2973
|
case m:
|
|
2893
2974
|
if (p.wrap === 0) {
|
|
2894
2975
|
p.mode = 13;
|
|
2895
2976
|
break;
|
|
2896
2977
|
}
|
|
2897
|
-
for (;
|
|
2978
|
+
for (; F < 16; ) {
|
|
2898
2979
|
if (G === 0) break t;
|
|
2899
|
-
G--, S += I[O++] <<
|
|
2980
|
+
G--, S += I[O++] << F, F += 8;
|
|
2900
2981
|
}
|
|
2901
2982
|
if (2 & p.wrap && S === 35615) {
|
|
2902
|
-
D[p.check = 0] = 255 & S, D[1] = S >>> 8 & 255, p.check = c(p.check, D, 2, 0),
|
|
2983
|
+
D[p.check = 0] = 255 & S, D[1] = S >>> 8 & 255, p.check = c(p.check, D, 2, 0), F = S = 0, p.mode = 2;
|
|
2903
2984
|
break;
|
|
2904
2985
|
}
|
|
2905
2986
|
if (p.flags = 0, p.head && (p.head.done = !1), !(1 & p.wrap) || (((255 & S) << 8) + (S >> 8)) % 31) {
|
|
@@ -2910,17 +2991,17 @@ function Dr() {
|
|
|
2910
2991
|
B.msg = "unknown compression method", p.mode = 30;
|
|
2911
2992
|
break;
|
|
2912
2993
|
}
|
|
2913
|
-
if (
|
|
2994
|
+
if (F -= 4, h = 8 + (15 & (S >>>= 4)), p.wbits === 0) p.wbits = h;
|
|
2914
2995
|
else if (h > p.wbits) {
|
|
2915
2996
|
B.msg = "invalid window size", p.mode = 30;
|
|
2916
2997
|
break;
|
|
2917
2998
|
}
|
|
2918
|
-
p.dmax = 1 << h, B.adler = p.check = 1, p.mode = 512 & S ? 10 : 12,
|
|
2999
|
+
p.dmax = 1 << h, B.adler = p.check = 1, p.mode = 512 & S ? 10 : 12, F = S = 0;
|
|
2919
3000
|
break;
|
|
2920
3001
|
case 2:
|
|
2921
|
-
for (;
|
|
3002
|
+
for (; F < 16; ) {
|
|
2922
3003
|
if (G === 0) break t;
|
|
2923
|
-
G--, S += I[O++] <<
|
|
3004
|
+
G--, S += I[O++] << F, F += 8;
|
|
2924
3005
|
}
|
|
2925
3006
|
if (p.flags = S, (255 & p.flags) != 8) {
|
|
2926
3007
|
B.msg = "unknown compression method", p.mode = 30;
|
|
@@ -2930,26 +3011,26 @@ function Dr() {
|
|
|
2930
3011
|
B.msg = "unknown header flags set", p.mode = 30;
|
|
2931
3012
|
break;
|
|
2932
3013
|
}
|
|
2933
|
-
p.head && (p.head.text = S >> 8 & 1), 512 & p.flags && (D[0] = 255 & S, D[1] = S >>> 8 & 255, p.check = c(p.check, D, 2, 0)),
|
|
3014
|
+
p.head && (p.head.text = S >> 8 & 1), 512 & p.flags && (D[0] = 255 & S, D[1] = S >>> 8 & 255, p.check = c(p.check, D, 2, 0)), F = S = 0, p.mode = 3;
|
|
2934
3015
|
case 3:
|
|
2935
|
-
for (;
|
|
3016
|
+
for (; F < 32; ) {
|
|
2936
3017
|
if (G === 0) break t;
|
|
2937
|
-
G--, S += I[O++] <<
|
|
3018
|
+
G--, S += I[O++] << F, F += 8;
|
|
2938
3019
|
}
|
|
2939
|
-
p.head && (p.head.time = S), 512 & p.flags && (D[0] = 255 & S, D[1] = S >>> 8 & 255, D[2] = S >>> 16 & 255, D[3] = S >>> 24 & 255, p.check = c(p.check, D, 4, 0)),
|
|
3020
|
+
p.head && (p.head.time = S), 512 & p.flags && (D[0] = 255 & S, D[1] = S >>> 8 & 255, D[2] = S >>> 16 & 255, D[3] = S >>> 24 & 255, p.check = c(p.check, D, 4, 0)), F = S = 0, p.mode = 4;
|
|
2940
3021
|
case 4:
|
|
2941
|
-
for (;
|
|
3022
|
+
for (; F < 16; ) {
|
|
2942
3023
|
if (G === 0) break t;
|
|
2943
|
-
G--, S += I[O++] <<
|
|
3024
|
+
G--, S += I[O++] << F, F += 8;
|
|
2944
3025
|
}
|
|
2945
|
-
p.head && (p.head.xflags = 255 & S, p.head.os = S >> 8), 512 & p.flags && (D[0] = 255 & S, D[1] = S >>> 8 & 255, p.check = c(p.check, D, 2, 0)),
|
|
3026
|
+
p.head && (p.head.xflags = 255 & S, p.head.os = S >> 8), 512 & p.flags && (D[0] = 255 & S, D[1] = S >>> 8 & 255, p.check = c(p.check, D, 2, 0)), F = S = 0, p.mode = 5;
|
|
2946
3027
|
case 5:
|
|
2947
3028
|
if (1024 & p.flags) {
|
|
2948
|
-
for (;
|
|
3029
|
+
for (; F < 16; ) {
|
|
2949
3030
|
if (G === 0) break t;
|
|
2950
|
-
G--, S += I[O++] <<
|
|
3031
|
+
G--, S += I[O++] << F, F += 8;
|
|
2951
3032
|
}
|
|
2952
|
-
p.length = S, p.head && (p.head.extra_len = S), 512 & p.flags && (D[0] = 255 & S, D[1] = S >>> 8 & 255, p.check = c(p.check, D, 2, 0)),
|
|
3033
|
+
p.length = S, p.head && (p.head.extra_len = S), 512 & p.flags && (D[0] = 255 & S, D[1] = S >>> 8 & 255, p.check = c(p.check, D, 2, 0)), F = S = 0;
|
|
2953
3034
|
} else p.head && (p.head.extra = null);
|
|
2954
3035
|
p.mode = 6;
|
|
2955
3036
|
case 6:
|
|
@@ -2971,45 +3052,45 @@ function Dr() {
|
|
|
2971
3052
|
p.mode = 9;
|
|
2972
3053
|
case 9:
|
|
2973
3054
|
if (512 & p.flags) {
|
|
2974
|
-
for (;
|
|
3055
|
+
for (; F < 16; ) {
|
|
2975
3056
|
if (G === 0) break t;
|
|
2976
|
-
G--, S += I[O++] <<
|
|
3057
|
+
G--, S += I[O++] << F, F += 8;
|
|
2977
3058
|
}
|
|
2978
3059
|
if (S !== (65535 & p.check)) {
|
|
2979
3060
|
B.msg = "header crc mismatch", p.mode = 30;
|
|
2980
3061
|
break;
|
|
2981
3062
|
}
|
|
2982
|
-
|
|
3063
|
+
F = S = 0;
|
|
2983
3064
|
}
|
|
2984
3065
|
p.head && (p.head.hcrc = p.flags >> 9 & 1, p.head.done = !0), B.adler = p.check = 0, p.mode = 12;
|
|
2985
3066
|
break;
|
|
2986
3067
|
case 10:
|
|
2987
|
-
for (;
|
|
3068
|
+
for (; F < 32; ) {
|
|
2988
3069
|
if (G === 0) break t;
|
|
2989
|
-
G--, S += I[O++] <<
|
|
3070
|
+
G--, S += I[O++] << F, F += 8;
|
|
2990
3071
|
}
|
|
2991
|
-
B.adler = p.check = v(S),
|
|
3072
|
+
B.adler = p.check = v(S), F = S = 0, p.mode = 11;
|
|
2992
3073
|
case 11:
|
|
2993
|
-
if (p.havedict === 0) return B.next_out = at, B.avail_out = $, B.next_in = O, B.avail_in = G, p.hold = S, p.bits =
|
|
3074
|
+
if (p.havedict === 0) return B.next_out = at, B.avail_out = $, B.next_in = O, B.avail_in = G, p.hold = S, p.bits = F, 2;
|
|
2994
3075
|
B.adler = p.check = 1, p.mode = 12;
|
|
2995
3076
|
case 12:
|
|
2996
|
-
if (
|
|
3077
|
+
if (M === 5 || M === 6) break t;
|
|
2997
3078
|
case 13:
|
|
2998
3079
|
if (p.last) {
|
|
2999
|
-
S >>>= 7 &
|
|
3080
|
+
S >>>= 7 & F, F -= 7 & F, p.mode = 27;
|
|
3000
3081
|
break;
|
|
3001
3082
|
}
|
|
3002
|
-
for (;
|
|
3083
|
+
for (; F < 3; ) {
|
|
3003
3084
|
if (G === 0) break t;
|
|
3004
|
-
G--, S += I[O++] <<
|
|
3085
|
+
G--, S += I[O++] << F, F += 8;
|
|
3005
3086
|
}
|
|
3006
|
-
switch (p.last = 1 & S,
|
|
3087
|
+
switch (p.last = 1 & S, F -= 1, 3 & (S >>>= 1)) {
|
|
3007
3088
|
case 0:
|
|
3008
3089
|
p.mode = 14;
|
|
3009
3090
|
break;
|
|
3010
3091
|
case 1:
|
|
3011
|
-
if (E(p), p.mode = 20,
|
|
3012
|
-
S >>>= 2,
|
|
3092
|
+
if (E(p), p.mode = 20, M !== 6) break;
|
|
3093
|
+
S >>>= 2, F -= 2;
|
|
3013
3094
|
break t;
|
|
3014
3095
|
case 2:
|
|
3015
3096
|
p.mode = 17;
|
|
@@ -3017,18 +3098,18 @@ function Dr() {
|
|
|
3017
3098
|
case 3:
|
|
3018
3099
|
B.msg = "invalid block type", p.mode = 30;
|
|
3019
3100
|
}
|
|
3020
|
-
S >>>= 2,
|
|
3101
|
+
S >>>= 2, F -= 2;
|
|
3021
3102
|
break;
|
|
3022
3103
|
case 14:
|
|
3023
|
-
for (S >>>= 7 &
|
|
3104
|
+
for (S >>>= 7 & F, F -= 7 & F; F < 32; ) {
|
|
3024
3105
|
if (G === 0) break t;
|
|
3025
|
-
G--, S += I[O++] <<
|
|
3106
|
+
G--, S += I[O++] << F, F += 8;
|
|
3026
3107
|
}
|
|
3027
3108
|
if ((65535 & S) != (S >>> 16 ^ 65535)) {
|
|
3028
3109
|
B.msg = "invalid stored block lengths", p.mode = 30;
|
|
3029
3110
|
break;
|
|
3030
3111
|
}
|
|
3031
|
-
if (p.length = 65535 & S,
|
|
3112
|
+
if (p.length = 65535 & S, F = S = 0, p.mode = 15, M === 6) break t;
|
|
3032
3113
|
case 15:
|
|
3033
3114
|
p.mode = 16;
|
|
3034
3115
|
case 16:
|
|
@@ -3040,59 +3121,59 @@ function Dr() {
|
|
|
3040
3121
|
p.mode = 12;
|
|
3041
3122
|
break;
|
|
3042
3123
|
case 17:
|
|
3043
|
-
for (;
|
|
3124
|
+
for (; F < 14; ) {
|
|
3044
3125
|
if (G === 0) break t;
|
|
3045
|
-
G--, S += I[O++] <<
|
|
3126
|
+
G--, S += I[O++] << F, F += 8;
|
|
3046
3127
|
}
|
|
3047
|
-
if (p.nlen = 257 + (31 & S), S >>>= 5,
|
|
3128
|
+
if (p.nlen = 257 + (31 & S), S >>>= 5, F -= 5, p.ndist = 1 + (31 & S), S >>>= 5, F -= 5, p.ncode = 4 + (15 & S), S >>>= 4, F -= 4, 286 < p.nlen || 30 < p.ndist) {
|
|
3048
3129
|
B.msg = "too many length or distance symbols", p.mode = 30;
|
|
3049
3130
|
break;
|
|
3050
3131
|
}
|
|
3051
3132
|
p.have = 0, p.mode = 18;
|
|
3052
3133
|
case 18:
|
|
3053
3134
|
for (; p.have < p.ncode; ) {
|
|
3054
|
-
for (;
|
|
3135
|
+
for (; F < 3; ) {
|
|
3055
3136
|
if (G === 0) break t;
|
|
3056
|
-
G--, S += I[O++] <<
|
|
3137
|
+
G--, S += I[O++] << F, F += 8;
|
|
3057
3138
|
}
|
|
3058
|
-
p.lens[X[p.have++]] = 7 & S, S >>>= 3,
|
|
3139
|
+
p.lens[X[p.have++]] = 7 & S, S >>>= 3, F -= 3;
|
|
3059
3140
|
}
|
|
3060
3141
|
for (; p.have < 19; ) p.lens[X[p.have++]] = 0;
|
|
3061
|
-
if (p.lencode = p.lendyn, p.lenbits = 7,
|
|
3142
|
+
if (p.lencode = p.lendyn, p.lenbits = 7, _ = { bits: p.lenbits }, z = r(0, p.lens, 0, 19, p.lencode, 0, p.work, _), p.lenbits = _.bits, z) {
|
|
3062
3143
|
B.msg = "invalid code lengths set", p.mode = 30;
|
|
3063
3144
|
break;
|
|
3064
3145
|
}
|
|
3065
3146
|
p.have = 0, p.mode = 19;
|
|
3066
3147
|
case 19:
|
|
3067
3148
|
for (; p.have < p.nlen + p.ndist; ) {
|
|
3068
|
-
for (; ft = (w = p.lencode[S & (1 << p.lenbits) - 1]) >>> 16 & 255, wt = 65535 & w, !((dt = w >>> 24) <=
|
|
3149
|
+
for (; ft = (w = p.lencode[S & (1 << p.lenbits) - 1]) >>> 16 & 255, wt = 65535 & w, !((dt = w >>> 24) <= F); ) {
|
|
3069
3150
|
if (G === 0) break t;
|
|
3070
|
-
G--, S += I[O++] <<
|
|
3151
|
+
G--, S += I[O++] << F, F += 8;
|
|
3071
3152
|
}
|
|
3072
|
-
if (wt < 16) S >>>= dt,
|
|
3153
|
+
if (wt < 16) S >>>= dt, F -= dt, p.lens[p.have++] = wt;
|
|
3073
3154
|
else {
|
|
3074
3155
|
if (wt === 16) {
|
|
3075
|
-
for (C = dt + 2;
|
|
3156
|
+
for (C = dt + 2; F < C; ) {
|
|
3076
3157
|
if (G === 0) break t;
|
|
3077
|
-
G--, S += I[O++] <<
|
|
3158
|
+
G--, S += I[O++] << F, F += 8;
|
|
3078
3159
|
}
|
|
3079
|
-
if (S >>>= dt,
|
|
3160
|
+
if (S >>>= dt, F -= dt, p.have === 0) {
|
|
3080
3161
|
B.msg = "invalid bit length repeat", p.mode = 30;
|
|
3081
3162
|
break;
|
|
3082
3163
|
}
|
|
3083
|
-
h = p.lens[p.have - 1], Y = 3 + (3 & S), S >>>= 2,
|
|
3164
|
+
h = p.lens[p.have - 1], Y = 3 + (3 & S), S >>>= 2, F -= 2;
|
|
3084
3165
|
} else if (wt === 17) {
|
|
3085
|
-
for (C = dt + 3;
|
|
3166
|
+
for (C = dt + 3; F < C; ) {
|
|
3086
3167
|
if (G === 0) break t;
|
|
3087
|
-
G--, S += I[O++] <<
|
|
3168
|
+
G--, S += I[O++] << F, F += 8;
|
|
3088
3169
|
}
|
|
3089
|
-
|
|
3170
|
+
F -= dt, h = 0, Y = 3 + (7 & (S >>>= dt)), S >>>= 3, F -= 3;
|
|
3090
3171
|
} else {
|
|
3091
|
-
for (C = dt + 7;
|
|
3172
|
+
for (C = dt + 7; F < C; ) {
|
|
3092
3173
|
if (G === 0) break t;
|
|
3093
|
-
G--, S += I[O++] <<
|
|
3174
|
+
G--, S += I[O++] << F, F += 8;
|
|
3094
3175
|
}
|
|
3095
|
-
|
|
3176
|
+
F -= dt, h = 0, Y = 11 + (127 & (S >>>= dt)), S >>>= 7, F -= 7;
|
|
3096
3177
|
}
|
|
3097
3178
|
if (p.have + Y > p.nlen + p.ndist) {
|
|
3098
3179
|
B.msg = "invalid bit length repeat", p.mode = 30;
|
|
@@ -3106,34 +3187,34 @@ function Dr() {
|
|
|
3106
3187
|
B.msg = "invalid code -- missing end-of-block", p.mode = 30;
|
|
3107
3188
|
break;
|
|
3108
3189
|
}
|
|
3109
|
-
if (p.lenbits = 9,
|
|
3190
|
+
if (p.lenbits = 9, _ = { bits: p.lenbits }, z = r(o, p.lens, 0, p.nlen, p.lencode, 0, p.work, _), p.lenbits = _.bits, z) {
|
|
3110
3191
|
B.msg = "invalid literal/lengths set", p.mode = 30;
|
|
3111
3192
|
break;
|
|
3112
3193
|
}
|
|
3113
|
-
if (p.distbits = 6, p.distcode = p.distdyn,
|
|
3194
|
+
if (p.distbits = 6, p.distcode = p.distdyn, _ = { bits: p.distbits }, z = r(f, p.lens, p.nlen, p.ndist, p.distcode, 0, p.work, _), p.distbits = _.bits, z) {
|
|
3114
3195
|
B.msg = "invalid distances set", p.mode = 30;
|
|
3115
3196
|
break;
|
|
3116
3197
|
}
|
|
3117
|
-
if (p.mode = 20,
|
|
3198
|
+
if (p.mode = 20, M === 6) break t;
|
|
3118
3199
|
case 20:
|
|
3119
3200
|
p.mode = 21;
|
|
3120
3201
|
case 21:
|
|
3121
3202
|
if (6 <= G && 258 <= $) {
|
|
3122
|
-
B.next_out = at, B.avail_out = $, B.next_in = O, B.avail_in = G, p.hold = S, p.bits =
|
|
3203
|
+
B.next_out = at, B.avail_out = $, B.next_in = O, B.avail_in = G, p.hold = S, p.bits = F, l(B, H), at = B.next_out, K = B.output, $ = B.avail_out, O = B.next_in, I = B.input, G = B.avail_in, S = p.hold, F = p.bits, p.mode === 12 && (p.back = -1);
|
|
3123
3204
|
break;
|
|
3124
3205
|
}
|
|
3125
|
-
for (p.back = 0; ft = (w = p.lencode[S & (1 << p.lenbits) - 1]) >>> 16 & 255, wt = 65535 & w, !((dt = w >>> 24) <=
|
|
3206
|
+
for (p.back = 0; ft = (w = p.lencode[S & (1 << p.lenbits) - 1]) >>> 16 & 255, wt = 65535 & w, !((dt = w >>> 24) <= F); ) {
|
|
3126
3207
|
if (G === 0) break t;
|
|
3127
|
-
G--, S += I[O++] <<
|
|
3208
|
+
G--, S += I[O++] << F, F += 8;
|
|
3128
3209
|
}
|
|
3129
3210
|
if (ft && (240 & ft) == 0) {
|
|
3130
|
-
for (lt = dt, kt = ft, ut = wt; ft = (w = p.lencode[ut + ((S & (1 << lt + kt) - 1) >> lt)]) >>> 16 & 255, wt = 65535 & w, !(lt + (dt = w >>> 24) <=
|
|
3211
|
+
for (lt = dt, kt = ft, ut = wt; ft = (w = p.lencode[ut + ((S & (1 << lt + kt) - 1) >> lt)]) >>> 16 & 255, wt = 65535 & w, !(lt + (dt = w >>> 24) <= F); ) {
|
|
3131
3212
|
if (G === 0) break t;
|
|
3132
|
-
G--, S += I[O++] <<
|
|
3213
|
+
G--, S += I[O++] << F, F += 8;
|
|
3133
3214
|
}
|
|
3134
|
-
S >>>= lt,
|
|
3215
|
+
S >>>= lt, F -= lt, p.back += lt;
|
|
3135
3216
|
}
|
|
3136
|
-
if (S >>>= dt,
|
|
3217
|
+
if (S >>>= dt, F -= dt, p.back += dt, p.length = wt, ft === 0) {
|
|
3137
3218
|
p.mode = 26;
|
|
3138
3219
|
break;
|
|
3139
3220
|
}
|
|
@@ -3148,37 +3229,37 @@ function Dr() {
|
|
|
3148
3229
|
p.extra = 15 & ft, p.mode = 22;
|
|
3149
3230
|
case 22:
|
|
3150
3231
|
if (p.extra) {
|
|
3151
|
-
for (C = p.extra;
|
|
3232
|
+
for (C = p.extra; F < C; ) {
|
|
3152
3233
|
if (G === 0) break t;
|
|
3153
|
-
G--, S += I[O++] <<
|
|
3234
|
+
G--, S += I[O++] << F, F += 8;
|
|
3154
3235
|
}
|
|
3155
|
-
p.length += S & (1 << p.extra) - 1, S >>>= p.extra,
|
|
3236
|
+
p.length += S & (1 << p.extra) - 1, S >>>= p.extra, F -= p.extra, p.back += p.extra;
|
|
3156
3237
|
}
|
|
3157
3238
|
p.was = p.length, p.mode = 23;
|
|
3158
3239
|
case 23:
|
|
3159
|
-
for (; ft = (w = p.distcode[S & (1 << p.distbits) - 1]) >>> 16 & 255, wt = 65535 & w, !((dt = w >>> 24) <=
|
|
3240
|
+
for (; ft = (w = p.distcode[S & (1 << p.distbits) - 1]) >>> 16 & 255, wt = 65535 & w, !((dt = w >>> 24) <= F); ) {
|
|
3160
3241
|
if (G === 0) break t;
|
|
3161
|
-
G--, S += I[O++] <<
|
|
3242
|
+
G--, S += I[O++] << F, F += 8;
|
|
3162
3243
|
}
|
|
3163
3244
|
if ((240 & ft) == 0) {
|
|
3164
|
-
for (lt = dt, kt = ft, ut = wt; ft = (w = p.distcode[ut + ((S & (1 << lt + kt) - 1) >> lt)]) >>> 16 & 255, wt = 65535 & w, !(lt + (dt = w >>> 24) <=
|
|
3245
|
+
for (lt = dt, kt = ft, ut = wt; ft = (w = p.distcode[ut + ((S & (1 << lt + kt) - 1) >> lt)]) >>> 16 & 255, wt = 65535 & w, !(lt + (dt = w >>> 24) <= F); ) {
|
|
3165
3246
|
if (G === 0) break t;
|
|
3166
|
-
G--, S += I[O++] <<
|
|
3247
|
+
G--, S += I[O++] << F, F += 8;
|
|
3167
3248
|
}
|
|
3168
|
-
S >>>= lt,
|
|
3249
|
+
S >>>= lt, F -= lt, p.back += lt;
|
|
3169
3250
|
}
|
|
3170
|
-
if (S >>>= dt,
|
|
3251
|
+
if (S >>>= dt, F -= dt, p.back += dt, 64 & ft) {
|
|
3171
3252
|
B.msg = "invalid distance code", p.mode = 30;
|
|
3172
3253
|
break;
|
|
3173
3254
|
}
|
|
3174
3255
|
p.offset = wt, p.extra = 15 & ft, p.mode = 24;
|
|
3175
3256
|
case 24:
|
|
3176
3257
|
if (p.extra) {
|
|
3177
|
-
for (C = p.extra;
|
|
3258
|
+
for (C = p.extra; F < C; ) {
|
|
3178
3259
|
if (G === 0) break t;
|
|
3179
|
-
G--, S += I[O++] <<
|
|
3260
|
+
G--, S += I[O++] << F, F += 8;
|
|
3180
3261
|
}
|
|
3181
|
-
p.offset += S & (1 << p.extra) - 1, S >>>= p.extra,
|
|
3262
|
+
p.offset += S & (1 << p.extra) - 1, S >>>= p.extra, F -= p.extra, p.back += p.extra;
|
|
3182
3263
|
}
|
|
3183
3264
|
if (p.offset > p.dmax) {
|
|
3184
3265
|
B.msg = "invalid distance too far back", p.mode = 30;
|
|
@@ -3203,28 +3284,28 @@ function Dr() {
|
|
|
3203
3284
|
break;
|
|
3204
3285
|
case 27:
|
|
3205
3286
|
if (p.wrap) {
|
|
3206
|
-
for (;
|
|
3287
|
+
for (; F < 32; ) {
|
|
3207
3288
|
if (G === 0) break t;
|
|
3208
|
-
G--, S |= I[O++] <<
|
|
3289
|
+
G--, S |= I[O++] << F, F += 8;
|
|
3209
3290
|
}
|
|
3210
3291
|
if (H -= $, B.total_out += H, p.total += H, H && (B.adler = p.check = p.flags ? c(p.check, K, H, at - H) : s(p.check, K, H, at - H)), H = $, (p.flags ? S : v(S)) !== p.check) {
|
|
3211
3292
|
B.msg = "incorrect data check", p.mode = 30;
|
|
3212
3293
|
break;
|
|
3213
3294
|
}
|
|
3214
|
-
|
|
3295
|
+
F = S = 0;
|
|
3215
3296
|
}
|
|
3216
3297
|
p.mode = 28;
|
|
3217
3298
|
case 28:
|
|
3218
3299
|
if (p.wrap && p.flags) {
|
|
3219
|
-
for (;
|
|
3300
|
+
for (; F < 32; ) {
|
|
3220
3301
|
if (G === 0) break t;
|
|
3221
|
-
G--, S += I[O++] <<
|
|
3302
|
+
G--, S += I[O++] << F, F += 8;
|
|
3222
3303
|
}
|
|
3223
3304
|
if (S !== (4294967295 & p.total)) {
|
|
3224
3305
|
B.msg = "incorrect length check", p.mode = 30;
|
|
3225
3306
|
break;
|
|
3226
3307
|
}
|
|
3227
|
-
|
|
3308
|
+
F = S = 0;
|
|
3228
3309
|
}
|
|
3229
3310
|
p.mode = 29;
|
|
3230
3311
|
case 29:
|
|
@@ -3239,38 +3320,38 @@ function Dr() {
|
|
|
3239
3320
|
default:
|
|
3240
3321
|
return d;
|
|
3241
3322
|
}
|
|
3242
|
-
return B.next_out = at, B.avail_out = $, B.next_in = O, B.avail_in = G, p.hold = S, p.bits =
|
|
3323
|
+
return B.next_out = at, B.avail_out = $, B.next_in = O, B.avail_in = G, p.hold = S, p.bits = F, (p.wsize || H !== B.avail_out && p.mode < 30 && (p.mode < 27 || M !== 4)) && J(B, B.output, B.next_out, H - B.avail_out) ? (p.mode = 31, -4) : (j -= B.avail_in, H -= B.avail_out, B.total_in += j, B.total_out += H, p.total += H, p.wrap && H && (B.adler = p.check = p.flags ? c(p.check, K, H, B.next_out - H) : s(p.check, K, H, B.next_out - H)), B.data_type = p.bits + (p.last ? 64 : 0) + (p.mode === 12 ? 128 : 0) + (p.mode === 20 || p.mode === 15 ? 256 : 0), (j == 0 && H === 0 || M === 4) && z === g && (z = -5), z);
|
|
3243
3324
|
}, a.inflateEnd = function(B) {
|
|
3244
3325
|
if (!B || !B.state) return d;
|
|
3245
|
-
var
|
|
3246
|
-
return
|
|
3247
|
-
}, a.inflateGetHeader = function(B,
|
|
3326
|
+
var M = B.state;
|
|
3327
|
+
return M.window && (M.window = null), B.state = null, g;
|
|
3328
|
+
}, a.inflateGetHeader = function(B, M) {
|
|
3248
3329
|
var p;
|
|
3249
|
-
return B && B.state ? (2 & (p = B.state).wrap) == 0 ? d : ((p.head =
|
|
3250
|
-
}, a.inflateSetDictionary = function(B,
|
|
3251
|
-
var p, I =
|
|
3252
|
-
return B && B.state ? (p = B.state).wrap !== 0 && p.mode !== 11 ? d : p.mode === 11 && s(1,
|
|
3330
|
+
return B && B.state ? (2 & (p = B.state).wrap) == 0 ? d : ((p.head = M).done = !1, g) : d;
|
|
3331
|
+
}, a.inflateSetDictionary = function(B, M) {
|
|
3332
|
+
var p, I = M.length;
|
|
3333
|
+
return B && B.state ? (p = B.state).wrap !== 0 && p.mode !== 11 ? d : p.mode === 11 && s(1, M, I, 0) !== p.check ? -3 : J(B, M, I, I) ? (p.mode = 31, -4) : (p.havedict = 1, g) : d;
|
|
3253
3334
|
}, a.inflateInfo = "pako inflate (from Nodeca project)";
|
|
3254
3335
|
}, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./inffast": 48, "./inftrees": 50 }], 50: [function(e, A, a) {
|
|
3255
3336
|
var i = e("../utils/common"), s = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0], c = [16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78], l = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0], r = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64];
|
|
3256
3337
|
A.exports = function(o, f, g, d, m, u, y, v) {
|
|
3257
|
-
var b, x, k, L, R, N, U, P, E, J = v.bits, B = 0,
|
|
3338
|
+
var b, x, k, L, R, N, U, P, E, J = v.bits, B = 0, M = 0, p = 0, I = 0, K = 0, O = 0, at = 0, G = 0, $ = 0, S = 0, F = null, j = 0, H = new i.Buf16(16), Y = new i.Buf16(16), At = null, xt = 0;
|
|
3258
3339
|
for (B = 0; B <= 15; B++) H[B] = 0;
|
|
3259
|
-
for (
|
|
3340
|
+
for (M = 0; M < d; M++) H[f[g + M]]++;
|
|
3260
3341
|
for (K = J, I = 15; 1 <= I && H[I] === 0; I--) ;
|
|
3261
3342
|
if (I < K && (K = I), I === 0) return m[u++] = 20971520, m[u++] = 20971520, v.bits = 1, 0;
|
|
3262
3343
|
for (p = 1; p < I && H[p] === 0; p++) ;
|
|
3263
3344
|
for (K < p && (K = p), B = G = 1; B <= 15; B++) if (G <<= 1, (G -= H[B]) < 0) return -1;
|
|
3264
3345
|
if (0 < G && (o === 0 || I !== 1)) return -1;
|
|
3265
3346
|
for (Y[1] = 0, B = 1; B < 15; B++) Y[B + 1] = Y[B] + H[B];
|
|
3266
|
-
for (
|
|
3267
|
-
if (N = o === 0 ? (
|
|
3347
|
+
for (M = 0; M < d; M++) f[g + M] !== 0 && (y[Y[f[g + M]]++] = M);
|
|
3348
|
+
if (N = o === 0 ? (F = At = y, 19) : o === 1 ? (F = s, j -= 257, At = c, xt -= 257, 256) : (F = l, At = r, -1), B = p, R = u, at = M = S = 0, k = -1, L = ($ = 1 << (O = K)) - 1, o === 1 && 852 < $ || o === 2 && 592 < $) return 1;
|
|
3268
3349
|
for (; ; ) {
|
|
3269
|
-
for (U = B - at, E = y[
|
|
3350
|
+
for (U = B - at, E = y[M] < N ? (P = 0, y[M]) : y[M] > N ? (P = At[xt + y[M]], F[j + y[M]]) : (P = 96, 0), b = 1 << B - at, p = x = 1 << O; m[R + (S >> at) + (x -= b)] = U << 24 | P << 16 | E | 0, x !== 0; ) ;
|
|
3270
3351
|
for (b = 1 << B - 1; S & b; ) b >>= 1;
|
|
3271
|
-
if (b !== 0 ? (S &= b - 1, S += b) : S = 0,
|
|
3352
|
+
if (b !== 0 ? (S &= b - 1, S += b) : S = 0, M++, --H[B] == 0) {
|
|
3272
3353
|
if (B === I) break;
|
|
3273
|
-
B = f[g + y[
|
|
3354
|
+
B = f[g + y[M]];
|
|
3274
3355
|
}
|
|
3275
3356
|
if (K < B && (S & L) !== k) {
|
|
3276
3357
|
for (at === 0 && (at = K), R += p, G = 1 << (O = B - at); O + at < I && !((G -= H[O + at]) <= 0); ) O++, G <<= 1;
|
|
@@ -3291,21 +3372,21 @@ function Dr() {
|
|
|
3291
3372
|
l(J);
|
|
3292
3373
|
var B = new Array(2 * d);
|
|
3293
3374
|
l(B);
|
|
3294
|
-
var
|
|
3295
|
-
l(
|
|
3375
|
+
var M = new Array(512);
|
|
3376
|
+
l(M);
|
|
3296
3377
|
var p = new Array(256);
|
|
3297
3378
|
l(p);
|
|
3298
3379
|
var I = new Array(o);
|
|
3299
3380
|
l(I);
|
|
3300
3381
|
var K, O, at, G = new Array(d);
|
|
3301
|
-
function $(w, D, X,
|
|
3302
|
-
this.static_tree = w, this.extra_bits = D, this.extra_base = X, this.elems =
|
|
3382
|
+
function $(w, D, X, Q, T) {
|
|
3383
|
+
this.static_tree = w, this.extra_bits = D, this.extra_base = X, this.elems = Q, this.max_length = T, this.has_stree = w && w.length;
|
|
3303
3384
|
}
|
|
3304
3385
|
function S(w, D) {
|
|
3305
3386
|
this.dyn_tree = w, this.max_code = 0, this.stat_desc = D;
|
|
3306
3387
|
}
|
|
3307
|
-
function
|
|
3308
|
-
return w < 256 ?
|
|
3388
|
+
function F(w) {
|
|
3389
|
+
return w < 256 ? M[w] : M[256 + (w >>> 7)];
|
|
3309
3390
|
}
|
|
3310
3391
|
function j(w, D) {
|
|
3311
3392
|
w.pending_buf[w.pending++] = 255 & D, w.pending_buf[w.pending++] = D >>> 8 & 255;
|
|
@@ -3321,11 +3402,11 @@ function Dr() {
|
|
|
3321
3402
|
return X >>> 1;
|
|
3322
3403
|
}
|
|
3323
3404
|
function xt(w, D, X) {
|
|
3324
|
-
var
|
|
3325
|
-
for (
|
|
3326
|
-
for (
|
|
3327
|
-
var q = w[2 *
|
|
3328
|
-
q !== 0 && (w[2 *
|
|
3405
|
+
var Q, T, V = new Array(y + 1), Z = 0;
|
|
3406
|
+
for (Q = 1; Q <= y; Q++) V[Q] = Z = Z + X[Q - 1] << 1;
|
|
3407
|
+
for (T = 0; T <= D; T++) {
|
|
3408
|
+
var q = w[2 * T + 1];
|
|
3409
|
+
q !== 0 && (w[2 * T] = At(V[q]++, q));
|
|
3329
3410
|
}
|
|
3330
3411
|
}
|
|
3331
3412
|
function dt(w) {
|
|
@@ -3338,63 +3419,63 @@ function Dr() {
|
|
|
3338
3419
|
function ft(w) {
|
|
3339
3420
|
8 < w.bi_valid ? j(w, w.bi_buf) : 0 < w.bi_valid && (w.pending_buf[w.pending++] = w.bi_buf), w.bi_buf = 0, w.bi_valid = 0;
|
|
3340
3421
|
}
|
|
3341
|
-
function wt(w, D, X,
|
|
3342
|
-
var
|
|
3343
|
-
return w[
|
|
3422
|
+
function wt(w, D, X, Q) {
|
|
3423
|
+
var T = 2 * D, V = 2 * X;
|
|
3424
|
+
return w[T] < w[V] || w[T] === w[V] && Q[D] <= Q[X];
|
|
3344
3425
|
}
|
|
3345
3426
|
function lt(w, D, X) {
|
|
3346
|
-
for (var
|
|
3347
|
-
w.heap[X] =
|
|
3427
|
+
for (var Q = w.heap[X], T = X << 1; T <= w.heap_len && (T < w.heap_len && wt(D, w.heap[T + 1], w.heap[T], w.depth) && T++, !wt(D, Q, w.heap[T], w.depth)); ) w.heap[X] = w.heap[T], X = T, T <<= 1;
|
|
3428
|
+
w.heap[X] = Q;
|
|
3348
3429
|
}
|
|
3349
3430
|
function kt(w, D, X) {
|
|
3350
|
-
var
|
|
3351
|
-
if (w.last_lit !== 0) for (;
|
|
3431
|
+
var Q, T, V, Z, q = 0;
|
|
3432
|
+
if (w.last_lit !== 0) for (; Q = w.pending_buf[w.d_buf + 2 * q] << 8 | w.pending_buf[w.d_buf + 2 * q + 1], T = w.pending_buf[w.l_buf + q], q++, Q === 0 ? Y(w, T, D) : (Y(w, (V = p[T]) + f + 1, D), (Z = N[V]) !== 0 && H(w, T -= I[V], Z), Y(w, V = F(--Q), X), (Z = U[V]) !== 0 && H(w, Q -= G[V], Z)), q < w.last_lit; ) ;
|
|
3352
3433
|
Y(w, x, D);
|
|
3353
3434
|
}
|
|
3354
3435
|
function ut(w, D) {
|
|
3355
|
-
var X,
|
|
3356
|
-
for (w.heap_len = 0, w.heap_max = u, X = 0; X < tt; X++) V[2 * X] !== 0 ? (w.heap[++w.heap_len] =
|
|
3357
|
-
for (; w.heap_len < 2; ) V[2 * (
|
|
3358
|
-
for (D.max_code =
|
|
3359
|
-
for (
|
|
3360
|
-
w.heap[--w.heap_max] = w.heap[1], (function(pt,
|
|
3361
|
-
var se, _t, le, bt, ye, Se,
|
|
3436
|
+
var X, Q, T, V = D.dyn_tree, Z = D.stat_desc.static_tree, q = D.stat_desc.has_stree, tt = D.stat_desc.elems, yt = -1;
|
|
3437
|
+
for (w.heap_len = 0, w.heap_max = u, X = 0; X < tt; X++) V[2 * X] !== 0 ? (w.heap[++w.heap_len] = yt = X, w.depth[X] = 0) : V[2 * X + 1] = 0;
|
|
3438
|
+
for (; w.heap_len < 2; ) V[2 * (T = w.heap[++w.heap_len] = yt < 2 ? ++yt : 0)] = 1, w.depth[T] = 0, w.opt_len--, q && (w.static_len -= Z[2 * T + 1]);
|
|
3439
|
+
for (D.max_code = yt, X = w.heap_len >> 1; 1 <= X; X--) lt(w, V, X);
|
|
3440
|
+
for (T = tt; X = w.heap[1], w.heap[1] = w.heap[w.heap_len--], lt(w, V, 1), Q = w.heap[1], w.heap[--w.heap_max] = X, w.heap[--w.heap_max] = Q, V[2 * T] = V[2 * X] + V[2 * Q], w.depth[T] = (w.depth[X] >= w.depth[Q] ? w.depth[X] : w.depth[Q]) + 1, V[2 * X + 1] = V[2 * Q + 1] = T, w.heap[1] = T++, lt(w, V, 1), 2 <= w.heap_len; ) ;
|
|
3441
|
+
w.heap[--w.heap_max] = w.heap[1], (function(pt, Ft) {
|
|
3442
|
+
var se, _t, le, bt, ye, Se, Xt = Ft.dyn_tree, la = Ft.max_code, Ha = Ft.stat_desc.static_tree, ja = Ft.stat_desc.has_stree, Ka = Ft.stat_desc.extra_bits, ca = Ft.stat_desc.extra_base, ce = Ft.stat_desc.max_length, be = 0;
|
|
3362
3443
|
for (bt = 0; bt <= y; bt++) pt.bl_count[bt] = 0;
|
|
3363
|
-
for (
|
|
3444
|
+
for (Xt[2 * pt.heap[pt.heap_max] + 1] = 0, se = pt.heap_max + 1; se < u; se++) ce < (bt = Xt[2 * Xt[2 * (_t = pt.heap[se]) + 1] + 1] + 1) && (bt = ce, be++), Xt[2 * _t + 1] = bt, la < _t || (pt.bl_count[bt]++, ye = 0, ca <= _t && (ye = Ka[_t - ca]), Se = Xt[2 * _t], pt.opt_len += Se * (bt + ye), ja && (pt.static_len += Se * (Ha[2 * _t + 1] + ye)));
|
|
3364
3445
|
if (be !== 0) {
|
|
3365
3446
|
do {
|
|
3366
3447
|
for (bt = ce - 1; pt.bl_count[bt] === 0; ) bt--;
|
|
3367
3448
|
pt.bl_count[bt]--, pt.bl_count[bt + 1] += 2, pt.bl_count[ce]--, be -= 2;
|
|
3368
3449
|
} while (0 < be);
|
|
3369
|
-
for (bt = ce; bt !== 0; bt--) for (_t = pt.bl_count[bt]; _t !== 0; )
|
|
3450
|
+
for (bt = ce; bt !== 0; bt--) for (_t = pt.bl_count[bt]; _t !== 0; ) la < (le = pt.heap[--se]) || (Xt[2 * le + 1] !== bt && (pt.opt_len += (bt - Xt[2 * le + 1]) * Xt[2 * le], Xt[2 * le + 1] = bt), _t--);
|
|
3370
3451
|
}
|
|
3371
|
-
})(w, D), xt(V,
|
|
3452
|
+
})(w, D), xt(V, yt, w.bl_count);
|
|
3372
3453
|
}
|
|
3373
3454
|
function h(w, D, X) {
|
|
3374
|
-
var
|
|
3375
|
-
for (Z === 0 && (tt = 138,
|
|
3455
|
+
var Q, T, V = -1, Z = D[1], q = 0, tt = 7, yt = 4;
|
|
3456
|
+
for (Z === 0 && (tt = 138, yt = 3), D[2 * (X + 1) + 1] = 65535, Q = 0; Q <= X; Q++) T = Z, Z = D[2 * (Q + 1) + 1], ++q < tt && T === Z || (q < yt ? w.bl_tree[2 * T] += q : T !== 0 ? (T !== V && w.bl_tree[2 * T]++, w.bl_tree[2 * k]++) : q <= 10 ? w.bl_tree[2 * L]++ : w.bl_tree[2 * R]++, V = T, yt = (q = 0) === Z ? (tt = 138, 3) : T === Z ? (tt = 6, 3) : (tt = 7, 4));
|
|
3376
3457
|
}
|
|
3377
3458
|
function z(w, D, X) {
|
|
3378
|
-
var
|
|
3379
|
-
for (Z === 0 && (tt = 138,
|
|
3380
|
-
if (q <
|
|
3381
|
-
else
|
|
3382
|
-
V =
|
|
3459
|
+
var Q, T, V = -1, Z = D[1], q = 0, tt = 7, yt = 4;
|
|
3460
|
+
for (Z === 0 && (tt = 138, yt = 3), Q = 0; Q <= X; Q++) if (T = Z, Z = D[2 * (Q + 1) + 1], !(++q < tt && T === Z)) {
|
|
3461
|
+
if (q < yt) for (; Y(w, T, w.bl_tree), --q != 0; ) ;
|
|
3462
|
+
else T !== 0 ? (T !== V && (Y(w, T, w.bl_tree), q--), Y(w, k, w.bl_tree), H(w, q - 3, 2)) : q <= 10 ? (Y(w, L, w.bl_tree), H(w, q - 3, 3)) : (Y(w, R, w.bl_tree), H(w, q - 11, 7));
|
|
3463
|
+
V = T, yt = (q = 0) === Z ? (tt = 138, 3) : T === Z ? (tt = 6, 3) : (tt = 7, 4);
|
|
3383
3464
|
}
|
|
3384
3465
|
}
|
|
3385
3466
|
l(G);
|
|
3386
|
-
var
|
|
3387
|
-
function C(w, D, X,
|
|
3388
|
-
H(w, (r << 1) + (
|
|
3389
|
-
ft(
|
|
3467
|
+
var _ = !1;
|
|
3468
|
+
function C(w, D, X, Q) {
|
|
3469
|
+
H(w, (r << 1) + (Q ? 1 : 0), 3), (function(T, V, Z, q) {
|
|
3470
|
+
ft(T), j(T, Z), j(T, ~Z), i.arraySet(T.pending_buf, T.window, V, Z, T.pending), T.pending += Z;
|
|
3390
3471
|
})(w, D, X);
|
|
3391
3472
|
}
|
|
3392
3473
|
a._tr_init = function(w) {
|
|
3393
|
-
|
|
3394
|
-
var D, X,
|
|
3395
|
-
for (
|
|
3396
|
-
for (p[
|
|
3397
|
-
for (V >>= 7;
|
|
3474
|
+
_ || ((function() {
|
|
3475
|
+
var D, X, Q, T, V, Z = new Array(y + 1);
|
|
3476
|
+
for (T = Q = 0; T < o - 1; T++) for (I[T] = Q, D = 0; D < 1 << N[T]; D++) p[Q++] = T;
|
|
3477
|
+
for (p[Q - 1] = T, T = V = 0; T < 16; T++) for (G[T] = V, D = 0; D < 1 << U[T]; D++) M[V++] = T;
|
|
3478
|
+
for (V >>= 7; T < d; T++) for (G[T] = V << 7, D = 0; D < 1 << U[T] - 7; D++) M[256 + V++] = T;
|
|
3398
3479
|
for (X = 0; X <= y; X++) Z[X] = 0;
|
|
3399
3480
|
for (D = 0; D <= 143; ) J[2 * D + 1] = 8, D++, Z[8]++;
|
|
3400
3481
|
for (; D <= 255; ) J[2 * D + 1] = 9, D++, Z[9]++;
|
|
@@ -3402,12 +3483,12 @@ function Dr() {
|
|
|
3402
3483
|
for (; D <= 287; ) J[2 * D + 1] = 8, D++, Z[8]++;
|
|
3403
3484
|
for (xt(J, g + 1, Z), D = 0; D < d; D++) B[2 * D + 1] = 5, B[2 * D] = At(D, 5);
|
|
3404
3485
|
K = new $(J, N, f + 1, g, y), O = new $(B, U, 0, d, y), at = new $(new Array(0), P, 0, m, b);
|
|
3405
|
-
})(),
|
|
3406
|
-
}, a._tr_stored_block = C, a._tr_flush_block = function(w, D, X,
|
|
3407
|
-
var
|
|
3486
|
+
})(), _ = !0), w.l_desc = new S(w.dyn_ltree, K), w.d_desc = new S(w.dyn_dtree, O), w.bl_desc = new S(w.bl_tree, at), w.bi_buf = 0, w.bi_valid = 0, dt(w);
|
|
3487
|
+
}, a._tr_stored_block = C, a._tr_flush_block = function(w, D, X, Q) {
|
|
3488
|
+
var T, V, Z = 0;
|
|
3408
3489
|
0 < w.level ? (w.strm.data_type === 2 && (w.strm.data_type = (function(q) {
|
|
3409
|
-
var tt,
|
|
3410
|
-
for (tt = 0; tt <= 31; tt++,
|
|
3490
|
+
var tt, yt = 4093624447;
|
|
3491
|
+
for (tt = 0; tt <= 31; tt++, yt >>>= 1) if (1 & yt && q.dyn_ltree[2 * tt] !== 0) return s;
|
|
3411
3492
|
if (q.dyn_ltree[18] !== 0 || q.dyn_ltree[20] !== 0 || q.dyn_ltree[26] !== 0) return c;
|
|
3412
3493
|
for (tt = 32; tt < f; tt++) if (q.dyn_ltree[2 * tt] !== 0) return c;
|
|
3413
3494
|
return s;
|
|
@@ -3415,13 +3496,13 @@ function Dr() {
|
|
|
3415
3496
|
var tt;
|
|
3416
3497
|
for (h(q, q.dyn_ltree, q.l_desc.max_code), h(q, q.dyn_dtree, q.d_desc.max_code), ut(q, q.bl_desc), tt = m - 1; 3 <= tt && q.bl_tree[2 * E[tt] + 1] === 0; tt--) ;
|
|
3417
3498
|
return q.opt_len += 3 * (tt + 1) + 5 + 5 + 4, tt;
|
|
3418
|
-
})(w),
|
|
3419
|
-
var
|
|
3420
|
-
for (H(q, tt - 257, 5), H(q,
|
|
3421
|
-
z(q, q.dyn_ltree, tt - 1), z(q, q.dyn_dtree,
|
|
3422
|
-
})(w, w.l_desc.max_code + 1, w.d_desc.max_code + 1, Z + 1), kt(w, w.dyn_ltree, w.dyn_dtree)), dt(w),
|
|
3499
|
+
})(w), T = w.opt_len + 3 + 7 >>> 3, (V = w.static_len + 3 + 7 >>> 3) <= T && (T = V)) : T = V = X + 5, X + 4 <= T && D !== -1 ? C(w, D, X, Q) : w.strategy === 4 || V === T ? (H(w, 2 + (Q ? 1 : 0), 3), kt(w, J, B)) : (H(w, 4 + (Q ? 1 : 0), 3), (function(q, tt, yt, pt) {
|
|
3500
|
+
var Ft;
|
|
3501
|
+
for (H(q, tt - 257, 5), H(q, yt - 1, 5), H(q, pt - 4, 4), Ft = 0; Ft < pt; Ft++) H(q, q.bl_tree[2 * E[Ft] + 1], 3);
|
|
3502
|
+
z(q, q.dyn_ltree, tt - 1), z(q, q.dyn_dtree, yt - 1);
|
|
3503
|
+
})(w, w.l_desc.max_code + 1, w.d_desc.max_code + 1, Z + 1), kt(w, w.dyn_ltree, w.dyn_dtree)), dt(w), Q && ft(w);
|
|
3423
3504
|
}, a._tr_tally = function(w, D, X) {
|
|
3424
|
-
return w.pending_buf[w.d_buf + 2 * w.last_lit] = D >>> 8 & 255, w.pending_buf[w.d_buf + 2 * w.last_lit + 1] = 255 & D, w.pending_buf[w.l_buf + w.last_lit] = 255 & X, w.last_lit++, D === 0 ? w.dyn_ltree[2 * X]++ : (w.matches++, D--, w.dyn_ltree[2 * (p[X] + f + 1)]++, w.dyn_dtree[2 *
|
|
3505
|
+
return w.pending_buf[w.d_buf + 2 * w.last_lit] = D >>> 8 & 255, w.pending_buf[w.d_buf + 2 * w.last_lit + 1] = 255 & D, w.pending_buf[w.l_buf + w.last_lit] = 255 & X, w.last_lit++, D === 0 ? w.dyn_ltree[2 * X]++ : (w.matches++, D--, w.dyn_ltree[2 * (p[X] + f + 1)]++, w.dyn_dtree[2 * F(D)]++), w.last_lit === w.lit_bufsize - 1;
|
|
3425
3506
|
}, a._tr_align = function(w) {
|
|
3426
3507
|
H(w, 2, 3), Y(w, x, J), (function(D) {
|
|
3427
3508
|
D.bi_valid === 16 ? (j(D, D.bi_buf), D.bi_buf = 0, D.bi_valid = 0) : 8 <= D.bi_valid && (D.pending_buf[D.pending++] = 255 & D.bi_buf, D.bi_buf >>= 8, D.bi_valid -= 8);
|
|
@@ -3509,10 +3590,10 @@ function Dr() {
|
|
|
3509
3590
|
}).call(this, typeof we < "u" ? we : typeof self < "u" ? self : typeof window < "u" ? window : {});
|
|
3510
3591
|
}, {}] }, {}, [10])(10);
|
|
3511
3592
|
});
|
|
3512
|
-
})(
|
|
3593
|
+
})(_e)), _e.exports;
|
|
3513
3594
|
}
|
|
3514
|
-
var
|
|
3515
|
-
const
|
|
3595
|
+
var Fr = Tr();
|
|
3596
|
+
const za = /* @__PURE__ */ Nr(Fr);
|
|
3516
3597
|
function Nt(t, n, e, A) {
|
|
3517
3598
|
function a(i) {
|
|
3518
3599
|
return i instanceof e ? i : new e(function(s) {
|
|
@@ -3541,7 +3622,7 @@ function Nt(t, n, e, A) {
|
|
|
3541
3622
|
});
|
|
3542
3623
|
}
|
|
3543
3624
|
const ot = 914400, ve = 12700, Bt = `\r
|
|
3544
|
-
`,
|
|
3625
|
+
`, Sr = 2147483649, Ee = /^[0-9a-fA-F]{6}$/, Ir = 1.67, Mr = 27, $t = { type: "solid", color: "666666", pt: 1 }, Ua = [0.05, 0.1, 0.05, 0.1], te = { color: "363636", pt: 1 }, jt = { color: "888888", style: "solid", size: 1, cap: "flat" }, Dt = "000000", St = 12, _r = 18, ee = "LAYOUT_16x9", Qe = "DEFAULT", Oa = "333333", Jt = { type: "outer", blur: 3, offset: 23e3 / 12700, angle: 90, color: "000000", opacity: 0.35, rotateWithShape: !0 }, ge = [0.5, 0.5, 0.5, 0.5], ya = { color: "000000" }, Er = { size: 8, color: "FFFFFF", opacity: 0.75 }, Gt = "2094734552", Be = "2094734553", fe = "2094734554", We = "2094734555", Xa = "2094734556", de = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""), he = [
|
|
3545
3626
|
"C0504D",
|
|
3546
3627
|
"4F81BD",
|
|
3547
3628
|
"9BBB59",
|
|
@@ -3558,7 +3639,7 @@ const ot = 914400, ve = 12700, Bt = `\r
|
|
|
3558
3639
|
"F79646",
|
|
3559
3640
|
"628FC6",
|
|
3560
3641
|
"C86360"
|
|
3561
|
-
],
|
|
3642
|
+
], zr = [
|
|
3562
3643
|
"5DA5DA",
|
|
3563
3644
|
"FAA43A",
|
|
3564
3645
|
"60BD68",
|
|
@@ -3578,15 +3659,15 @@ const ot = 914400, ve = 12700, Bt = `\r
|
|
|
3578
3659
|
"F15854",
|
|
3579
3660
|
"A7A7A7"
|
|
3580
3661
|
];
|
|
3581
|
-
var
|
|
3662
|
+
var ae;
|
|
3582
3663
|
(function(t) {
|
|
3583
3664
|
t.left = "left", t.center = "center", t.right = "right", t.justify = "justify";
|
|
3584
|
-
})(
|
|
3585
|
-
var
|
|
3665
|
+
})(ae || (ae = {}));
|
|
3666
|
+
var re;
|
|
3586
3667
|
(function(t) {
|
|
3587
3668
|
t.b = "b", t.ctr = "ctr", t.t = "t";
|
|
3588
|
-
})(
|
|
3589
|
-
const
|
|
3669
|
+
})(re || (re = {}));
|
|
3670
|
+
const Ga = "{F7021451-1387-4CA6-816F-3879F97B5CBC}";
|
|
3590
3671
|
var Ve;
|
|
3591
3672
|
(function(t) {
|
|
3592
3673
|
t.arraybuffer = "arraybuffer", t.base64 = "base64", t.binarystring = "binarystring", t.blob = "blob", t.nodebuffer = "nodebuffer", t.uint8array = "uint8array";
|
|
@@ -3615,10 +3696,10 @@ var Yt;
|
|
|
3615
3696
|
(function(t) {
|
|
3616
3697
|
t.ACTION_BUTTON_BACK_OR_PREVIOUS = "actionButtonBackPrevious", t.ACTION_BUTTON_BEGINNING = "actionButtonBeginning", t.ACTION_BUTTON_CUSTOM = "actionButtonBlank", t.ACTION_BUTTON_DOCUMENT = "actionButtonDocument", t.ACTION_BUTTON_END = "actionButtonEnd", t.ACTION_BUTTON_FORWARD_OR_NEXT = "actionButtonForwardNext", t.ACTION_BUTTON_HELP = "actionButtonHelp", t.ACTION_BUTTON_HOME = "actionButtonHome", t.ACTION_BUTTON_INFORMATION = "actionButtonInformation", t.ACTION_BUTTON_MOVIE = "actionButtonMovie", t.ACTION_BUTTON_RETURN = "actionButtonReturn", t.ACTION_BUTTON_SOUND = "actionButtonSound", t.ARC = "arc", t.BALLOON = "wedgeRoundRectCallout", t.BENT_ARROW = "bentArrow", t.BENT_UP_ARROW = "bentUpArrow", t.BEVEL = "bevel", t.BLOCK_ARC = "blockArc", t.CAN = "can", t.CHART_PLUS = "chartPlus", t.CHART_STAR = "chartStar", t.CHART_X = "chartX", t.CHEVRON = "chevron", t.CHORD = "chord", t.CIRCULAR_ARROW = "circularArrow", t.CLOUD = "cloud", t.CLOUD_CALLOUT = "cloudCallout", t.CORNER = "corner", t.CORNER_TABS = "cornerTabs", t.CROSS = "plus", t.CUBE = "cube", t.CURVED_DOWN_ARROW = "curvedDownArrow", t.CURVED_DOWN_RIBBON = "ellipseRibbon", t.CURVED_LEFT_ARROW = "curvedLeftArrow", t.CURVED_RIGHT_ARROW = "curvedRightArrow", t.CURVED_UP_ARROW = "curvedUpArrow", t.CURVED_UP_RIBBON = "ellipseRibbon2", t.CUSTOM_GEOMETRY = "custGeom", t.DECAGON = "decagon", t.DIAGONAL_STRIPE = "diagStripe", t.DIAMOND = "diamond", t.DODECAGON = "dodecagon", t.DONUT = "donut", t.DOUBLE_BRACE = "bracePair", t.DOUBLE_BRACKET = "bracketPair", t.DOUBLE_WAVE = "doubleWave", t.DOWN_ARROW = "downArrow", t.DOWN_ARROW_CALLOUT = "downArrowCallout", t.DOWN_RIBBON = "ribbon", t.EXPLOSION1 = "irregularSeal1", t.EXPLOSION2 = "irregularSeal2", t.FLOWCHART_ALTERNATE_PROCESS = "flowChartAlternateProcess", t.FLOWCHART_CARD = "flowChartPunchedCard", t.FLOWCHART_COLLATE = "flowChartCollate", t.FLOWCHART_CONNECTOR = "flowChartConnector", t.FLOWCHART_DATA = "flowChartInputOutput", t.FLOWCHART_DECISION = "flowChartDecision", t.FLOWCHART_DELAY = "flowChartDelay", t.FLOWCHART_DIRECT_ACCESS_STORAGE = "flowChartMagneticDrum", t.FLOWCHART_DISPLAY = "flowChartDisplay", t.FLOWCHART_DOCUMENT = "flowChartDocument", t.FLOWCHART_EXTRACT = "flowChartExtract", t.FLOWCHART_INTERNAL_STORAGE = "flowChartInternalStorage", t.FLOWCHART_MAGNETIC_DISK = "flowChartMagneticDisk", t.FLOWCHART_MANUAL_INPUT = "flowChartManualInput", t.FLOWCHART_MANUAL_OPERATION = "flowChartManualOperation", t.FLOWCHART_MERGE = "flowChartMerge", t.FLOWCHART_MULTIDOCUMENT = "flowChartMultidocument", t.FLOWCHART_OFFLINE_STORAGE = "flowChartOfflineStorage", t.FLOWCHART_OFFPAGE_CONNECTOR = "flowChartOffpageConnector", t.FLOWCHART_OR = "flowChartOr", t.FLOWCHART_PREDEFINED_PROCESS = "flowChartPredefinedProcess", t.FLOWCHART_PREPARATION = "flowChartPreparation", t.FLOWCHART_PROCESS = "flowChartProcess", t.FLOWCHART_PUNCHED_TAPE = "flowChartPunchedTape", t.FLOWCHART_SEQUENTIAL_ACCESS_STORAGE = "flowChartMagneticTape", t.FLOWCHART_SORT = "flowChartSort", t.FLOWCHART_STORED_DATA = "flowChartOnlineStorage", t.FLOWCHART_SUMMING_JUNCTION = "flowChartSummingJunction", t.FLOWCHART_TERMINATOR = "flowChartTerminator", t.FOLDED_CORNER = "folderCorner", t.FRAME = "frame", t.FUNNEL = "funnel", t.GEAR_6 = "gear6", t.GEAR_9 = "gear9", t.HALF_FRAME = "halfFrame", t.HEART = "heart", t.HEPTAGON = "heptagon", t.HEXAGON = "hexagon", t.HORIZONTAL_SCROLL = "horizontalScroll", t.ISOSCELES_TRIANGLE = "triangle", t.LEFT_ARROW = "leftArrow", t.LEFT_ARROW_CALLOUT = "leftArrowCallout", t.LEFT_BRACE = "leftBrace", t.LEFT_BRACKET = "leftBracket", t.LEFT_CIRCULAR_ARROW = "leftCircularArrow", t.LEFT_RIGHT_ARROW = "leftRightArrow", t.LEFT_RIGHT_ARROW_CALLOUT = "leftRightArrowCallout", t.LEFT_RIGHT_CIRCULAR_ARROW = "leftRightCircularArrow", t.LEFT_RIGHT_RIBBON = "leftRightRibbon", t.LEFT_RIGHT_UP_ARROW = "leftRightUpArrow", t.LEFT_UP_ARROW = "leftUpArrow", t.LIGHTNING_BOLT = "lightningBolt", t.LINE_CALLOUT_1 = "borderCallout1", t.LINE_CALLOUT_1_ACCENT_BAR = "accentCallout1", t.LINE_CALLOUT_1_BORDER_AND_ACCENT_BAR = "accentBorderCallout1", t.LINE_CALLOUT_1_NO_BORDER = "callout1", t.LINE_CALLOUT_2 = "borderCallout2", t.LINE_CALLOUT_2_ACCENT_BAR = "accentCallout2", t.LINE_CALLOUT_2_BORDER_AND_ACCENT_BAR = "accentBorderCallout2", t.LINE_CALLOUT_2_NO_BORDER = "callout2", t.LINE_CALLOUT_3 = "borderCallout3", t.LINE_CALLOUT_3_ACCENT_BAR = "accentCallout3", t.LINE_CALLOUT_3_BORDER_AND_ACCENT_BAR = "accentBorderCallout3", t.LINE_CALLOUT_3_NO_BORDER = "callout3", t.LINE_CALLOUT_4 = "borderCallout4", t.LINE_CALLOUT_4_ACCENT_BAR = "accentCallout3=4", t.LINE_CALLOUT_4_BORDER_AND_ACCENT_BAR = "accentBorderCallout4", t.LINE_CALLOUT_4_NO_BORDER = "callout4", t.LINE = "line", t.LINE_INVERSE = "lineInv", t.MATH_DIVIDE = "mathDivide", t.MATH_EQUAL = "mathEqual", t.MATH_MINUS = "mathMinus", t.MATH_MULTIPLY = "mathMultiply", t.MATH_NOT_EQUAL = "mathNotEqual", t.MATH_PLUS = "mathPlus", t.MOON = "moon", t.NON_ISOSCELES_TRAPEZOID = "nonIsoscelesTrapezoid", t.NOTCHED_RIGHT_ARROW = "notchedRightArrow", t.NO_SYMBOL = "noSmoking", t.OCTAGON = "octagon", t.OVAL = "ellipse", t.OVAL_CALLOUT = "wedgeEllipseCallout", t.PARALLELOGRAM = "parallelogram", t.PENTAGON = "homePlate", t.PIE = "pie", t.PIE_WEDGE = "pieWedge", t.PLAQUE = "plaque", t.PLAQUE_TABS = "plaqueTabs", t.QUAD_ARROW = "quadArrow", t.QUAD_ARROW_CALLOUT = "quadArrowCallout", t.RECTANGLE = "rect", t.RECTANGULAR_CALLOUT = "wedgeRectCallout", t.REGULAR_PENTAGON = "pentagon", t.RIGHT_ARROW = "rightArrow", t.RIGHT_ARROW_CALLOUT = "rightArrowCallout", t.RIGHT_BRACE = "rightBrace", t.RIGHT_BRACKET = "rightBracket", t.RIGHT_TRIANGLE = "rtTriangle", t.ROUNDED_RECTANGLE = "roundRect", t.ROUNDED_RECTANGULAR_CALLOUT = "wedgeRoundRectCallout", t.ROUND_1_RECTANGLE = "round1Rect", t.ROUND_2_DIAG_RECTANGLE = "round2DiagRect", t.ROUND_2_SAME_RECTANGLE = "round2SameRect", t.SMILEY_FACE = "smileyFace", t.SNIP_1_RECTANGLE = "snip1Rect", t.SNIP_2_DIAG_RECTANGLE = "snip2DiagRect", t.SNIP_2_SAME_RECTANGLE = "snip2SameRect", t.SNIP_ROUND_RECTANGLE = "snipRoundRect", t.SQUARE_TABS = "squareTabs", t.STAR_10_POINT = "star10", t.STAR_12_POINT = "star12", t.STAR_16_POINT = "star16", t.STAR_24_POINT = "star24", t.STAR_32_POINT = "star32", t.STAR_4_POINT = "star4", t.STAR_5_POINT = "star5", t.STAR_6_POINT = "star6", t.STAR_7_POINT = "star7", t.STAR_8_POINT = "star8", t.STRIPED_RIGHT_ARROW = "stripedRightArrow", t.SUN = "sun", t.SWOOSH_ARROW = "swooshArrow", t.TEAR = "teardrop", t.TRAPEZOID = "trapezoid", t.UP_ARROW = "upArrow", t.UP_ARROW_CALLOUT = "upArrowCallout", t.UP_DOWN_ARROW = "upDownArrow", t.UP_DOWN_ARROW_CALLOUT = "upDownArrowCallout", t.UP_RIBBON = "ribbon2", t.U_TURN_ARROW = "uturnArrow", t.VERTICAL_SCROLL = "verticalScroll", t.WAVE = "wave";
|
|
3617
3698
|
})(Yt || (Yt = {}));
|
|
3618
|
-
var
|
|
3699
|
+
var W;
|
|
3619
3700
|
(function(t) {
|
|
3620
3701
|
t.AREA = "area", t.BAR = "bar", t.BAR3D = "bar3D", t.BUBBLE = "bubble", t.BUBBLE3D = "bubble3D", t.DOUGHNUT = "doughnut", t.LINE = "line", t.PIE = "pie", t.RADAR = "radar", t.SCATTER = "scatter";
|
|
3621
|
-
})(
|
|
3702
|
+
})(W || (W = {}));
|
|
3622
3703
|
var De;
|
|
3623
3704
|
(function(t) {
|
|
3624
3705
|
t.TEXT1 = "tx1", t.TEXT2 = "tx2", t.BACKGROUND1 = "bg1", t.BACKGROUND2 = "bg2", t.ACCENT1 = "accent1", t.ACCENT2 = "accent2", t.ACCENT3 = "accent3", t.ACCENT4 = "accent4", t.ACCENT5 = "accent5", t.ACCENT6 = "accent6";
|
|
@@ -3635,11 +3716,11 @@ var pe;
|
|
|
3635
3716
|
(function(t) {
|
|
3636
3717
|
t.title = "title", t.body = "body", t.image = "pic", t.chart = "chart", t.table = "tbl", t.media = "media";
|
|
3637
3718
|
})(pe || (pe = {}));
|
|
3638
|
-
var
|
|
3719
|
+
var ne;
|
|
3639
3720
|
(function(t) {
|
|
3640
3721
|
t.DEFAULT = "•", t.CHECK = "✓", t.STAR = "★", t.TRIANGLE = "▶";
|
|
3641
|
-
})(
|
|
3642
|
-
const ne = "data:image/png;base64,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", _r = "data:image/png;base64,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AAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKREkRUAAACwrUpLSwuGDRvWfMCAAS26du3avKysrLiioqKkZcuWzZs1a1bcvHnz0tLS0rJsNtusuLi4ebNmzUoLCgo+8/eijY2N9Zs3b66pra2tqqur21xTU1NdVVVVs2nTptqNGzdWbdiwoeYvf/nL5hUrVlQtWLBgw6xZs6pqamoaJQYAAEDaKYABAACIiIghQ4aUHnTQQW379u3bql27dq3at2/fpkWLFq2bN29eWVpa2qpZs2bNCwsLm2ez2fLCwsLyoqKi8sLCwtKknK+hoaG6vr6+qqGh4S91dXV/aWhoqNq8eXNVTU3NuqqqqvUbNmxYu2rVqjWrV69e99Zbb6177rnnPpgzZ06NTwYAAABJogAGAADIA8OGDWt+xBFHdBwwYECnLl26dGjdunXHFi1adCgtLe1YUlLSvlmzZq0KCgqK07yDwsLCssLCwrKIaPdp/zuNjY21mzdvXrdp06ZVNTU172/YsGHl2rVr31+2bNnKBQsWrHjyySffnzVrVpVPGAAAAE1Fpuexsd9HfaF+ZcSal0ptCAAAIAE6deqUPf744zvtueeeXbp3796lbdu2XSorKzuXlpZ2KS0t7VBYWFhhSztGQ0PDxpqampU1NTXL169fv+yDDz5Y9s477yybPXv2sj/96U8rVqxYUWdLAAAAbE9t9q6Jog4f/TUFMAAAQEJks9nMt7/97Y4jRozo1bdv397t2rXrXl5e3rWsrKxzcXFx+4gosKUmp7G2tnZVTU3Nso0bNy5btWrV0tdff/2tJ598cvG999672noAAADYFgpgAACAhPne977X6a9Fb/v27Xu1bNmyV1lZWa8kvXOXLauvr9/wl7/8ZdG6desWL1u2bNHChQsX/fGPf1w8derUjbYDAADAliiAAQAAmqhsNps59dRTuxx66KH9+/Tp87n27dv3Ly8v719UVOSRzXlq06ZNKzZu3Pj6+++//8abb775xqOPPvrG3XffvcpmAAAA+CsFMAAAQBNx6qmndvniF784qHfv3v3btWv3uYqKis8VFhaW2wxbUl9fv37Dhg1vfPDBB68vXrz4jccee2z+jTfeuNxmAAAA8pMCGAAAYBc45phjWn/rW9/aq3///kPatGnTv6Kiop9HOLO9NDQ0VG/cuPGtNWvWLFy4cOGcO+6445WHHnporc0AAACknwIYAABgJzjjjDO6f+lLX9qrV69eg1u3bj2orKysR0RkbIadJFddXb103bp18xcvXjz30UcffeXqq69+x1oAAADSRwEMAACwnZWWlhb86le/2u3QQw8d1r17931btmw5qLCwsMxmaEoaGhqqP/zww/nvvPPOzGeeeWbW2LFj36ipqWm0GQAAgGRTAAMAAGwHP/7xj7t+9atf3bdXr15D27Ztu1c2m21jKyRJXV3dmg8++OCVRYsWvfznP/95xh/+8IdltgIAAJA8CmAAAIBtcOKJJ7Y75ZRTDujXr9+w1q1bD81ms61shTSpq6tbt3bt2pfffPPNWbfccsvUe++9d7WtAAAANH0KYAAAgE+hoqKi4IILLhg0YsSI/bp27bpfy5YtB2YymUKbIR/kcrmGDz/8cP6777474/nnn59x4YUXvrZx40aPiwYAAGiCFMAAAAAf4/jjj2/7/e9//8D+/fsf2Lp1630KCgpKbAUiGhsbN61fv37eW2+9NeWGG2545u67715lKwAAAE2DAhgAAOB/ZLPZzAUXXPC5I4888sDu3bsfWFFRsVtEFNgMbFl1dfWSd999d8qsWbNmnnvuuS+vW7euwVYAAAB2DQUwAACQ10pLSwsuvfTSQYcccsjBXbt2HVFWVtbDVmDb1dbWrnr//fdfmDp16uRf/vKXL65evbreVgAAAHYeBTAAAJB3Bg0aVHrBBRd8fs899zywQ4cOBxQVFbWwFdj+Ghsba9euXTtrzpw5T59//vmTX3755WpbAQAA2LEUwAAAQF4YNmxY8/POO+/gIUOGHOZ9vrDz/W0ZfNFFFz07a9asKlsBAADY/hTAAABAarVq1arwyiuv3HfEiBEjO3TocFBhYWGZrcCu19DQUP3+++8/O2XKlIk/+clPZm7cuLHRVgAAALYPBTAAAJAqrVq1Kvztb3+7/3777Xd4x44dRxQWFpbbCjRdDQ0NG99///0pM2bMeOqHP/zhC8pgAACAz0YBDAAApMJZZ53V45vf/OaRvXr1GllaWtrVRiB5ampq3l28ePHEO++8c9LVV1/9jo0AAABsPQUwAACQWMOHDy+/6KKLvjB48OCjW7RoMdBGID0+/PDDV+fNmzfhvPPOe3L69Ol/sREAAIBPRwEMAAAkSqtWrQpvuOGGQ/bbb79/atOmzX6ZTCZrK5BeuVyubs2aNTNmzJjx2JgxYyavW7euwVYAAAA+ngIYAABIhB//+Mddv/e9732lZ8+e/1RcXNzWRiD/1NbWfvD2228/dssttzz029/+9l0bAQAA+L8UwAAAQJNVUVFRcO21137+4IMPPrZ169b7ZTKZAlsBIqJxzZo1M59//vnxp5122hR3BQMAAPx/CmAAAKDJOeWUUzqefvrpx/bu3ftL2Wy2jY0AH6e+vn7j0qVLH/vd7373x+uvv36ZjQAAAPlOAQwAADQJ2Ww2c+uttx5wyCGHnNC6deu9I8LdvsDWaFy7du1L06ZN+/OPfvSjZ1evXl1vJQAAQD5SAAMAALtU//79S6655pp/2nPPPY8tLy/vayPAZ1VTU7NswYIF488999wHp06dutFGAACAfKIABgAAdomf//znPU855ZQTu3btemRhYWGZjQDbW2NjY92KFSuevOWWW+689NJLF9kIAACQDxTAAADATuMxz8Cusn79+rlPP/30f5188slT6+rqcjYCAACklQIYAADY4fr27Vv8hz/84a+Pee5nI8CuUlNT8+68efPu/8EPfvDgwoULN9kIAACQNgpgAABghxkyZEjpNddc89XBgwefWFxc3MFGgKaitrZ21dy5c+/5yU9+8uc5c+bU2AgAAJAWWyqAPYoNAADYJqNHj+4wb968n06ZMuXRYcOGnaH8BZqa4uLi9sOGDTtjypQpj86bN++nJ510UntbAQAA0s4dwAAAwFY599xze33/+9//dufOnY/IZDJZGwGSIpfL1S1fvvzJG2644fbLLrvsbRsBAACSyiOgAQCAz+y8887r+53vfOfbHTt2PDyTyRTaCJBUuVyuYcWKFU/cdNNN//XrX/96sY0AAABJowAGAAC22WWXXTboG9/4xg9at249zDaAtFm7du2su++++9pzzjnnNdsAAACSQgEMAABsNcUvkE8UwQAAQJIogAEAgE9N8Qvks7Vr18665557rvv5z38+3zYAAICmaksFcGHlwOj6UV9orIqoWZG1PQAAyBO/+MUvet9xxx3nHHrooT8pLS3tYiNAPiotLe2y7777HvP973+/X1lZ2ZIpU6assxUAAKCpKetcHwXlH/01BTAAAOS5M844o/u99957zpe//OWflZeX94qIjK0AeS5TXl7e8+CDDx71/e9/v3dEvDVjxowPrQUAAGgqFMAAAMD/ceKJJ7a77777fjJq1Kh/KS8v7xOKX4B/lCkvL+99+OGHj/rWt77VfvXq1Qvnz59fbS0AAMCutqUC2DuAAQAgzwwdOrTs+uuvP6l///4nFRYWltkI20NjY2Ns2rQpqquro6amJurr62PTpk2xefPmqK+vj+rq6qivr4/NmzfHpk2boqGhYZv/fxUWFkZJSUk0a9YsioqKoqysLIqKiqJZs2ZRUlISRUVFUVpa+r9/FRQUCIjtoqGhoeq11167a8yYMffMmTOnxkYAAIBdZUvvAFYAAwBAnujUqVP2nnvuGbXXXnudnM1mK22Ej9PQ0BAbN26MDRs2/J+/Nm7cGBs3boyamprYtGlTbNq0KWpqaqK2trbJnqe4uDhKSkqitLT0f/9eUVERFRUV0aJFi//zV0VFRRQWFvog8LHq6urWvvjii7eceOKJf169enW9jQAAADubAhgAAPLcXXfdddAXv/jF00tLS7vZRn7L5XKxYcOGWLt2baxbty7Wrl37d3+tW7cuNmzYkPd7atGiRbRu3TpatWoVrVu3jjZt2vzvf27dunW0aNHCh4morq5e+sgjj1zzne98Z6ptAAAAO5MCGAAA8tTVV189+MQTTzyzoqJioG3kj8bGxli5cmUsX748Pvjgg1i9evX//n3t2rXR2NhoSZ9RYWFhtGrVKtq1axdt27b937937tw5OnTo4LHTeWbDhg3z77333qvOPPPMebYBAADsDApgAADIM1/72tfaXHrppad27979qIjQRKVUQ0NDrFq1KlasWBHvv//+//595cqVTfqRzGlXXFwcHTp0iI4dO0bnzp2jY8eO0alTp2jXrp1HS6dYLpdrfOeddx76+c9/fv2ECRPW2QgAALAjKYABACBP9OrVq9ldd931jT322OM7hYWFZTaSHh9++GG88847sXTp0njvvfdixYoVsXr16mhoaLCchCgsLIz27dtHp06dolu3btG9e/fo3r27x0mnTENDQ9W8efNu++Y3v/nHJUuWbLYRAABgR1AAAwBAHrjrrrtG/NM//dOZJSUlXWwj2davXx9Lly6Nd955539L3w8//NBiUqqysvJ/y+C//tWqVSuLSbiamppljz322G9Gjx49xTYAAIDtTQEMAAAp9qtf/arPD3/4w5+1atVqL9tIno0bN8aSJUvirbfeikWLFsV7770XmzZtspg8V1JSEl27do0+ffpE3759o3fv3lFeXm4xCbRu3bqXr7322ivGjh27yDYAAIDtRQEMAAApNGjQoNI77rjju7vttttJBQUFWRtJhtWrV8ebb74ZixcvjiVLlsTy5cujsbHRYtiigoKC6Ny5c/Tu3Tt69+4d/fr1i7Zt21pMQjQ2Nta98cYbd33rW9+6ff78+TU2AgAAfFYKYAAASJHS0tKCBx988Jj99tvvn7PZbBsbaboaGhri7bffjrfeeisWLFgQS5YscXcv201FRUX06tUr+vbtG3379o2ePXtGYWGhxTRhdXV1a2bMmHHjV77ylYdqamr85gcAALDNFMAAAJASp59+erdf/vKX51ZWVu5jG03T6tWr47XXXouFCxfGm2++GRs3brQUdooWLVpE3759Y8CAATFw4EB3CDdh69evf/E//uM//vPqq69+xzYAAIBtoQAGAICEGzRoUOm99977w969ex+byWTc4teErF+/PubNmxcLFiyIN954Q+FLk9GiRYvo169fDBgwIPbYY4+orKy0lCYkl8s1LF68eNyJJ554rcdCAwAAW0sBDAAACXbNNdcMOemkk35RVlbWyzZ2vVwuF++++27MnTs3XnvttViyZIl3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B7lcrm7y5Mm//vKXv/yIbQAAwK63pXcAK4ABAMg7paWlBTNnzjyzT58+x9vG39uwYUOMGzcuZsyY4VHPQF7KZDKx3377xde//vWoqKiwkH+waNGiP+27775X1dTUeCwEAADsQgpgAAD4H926dctOnjz5V506dRppG/9fLpeLqVOnxp///OfYuHGjhQB5r6KiIkaNGhX777+/x0L/g+XLlz9+6KGHXvLuu+/W2QYAAOwaWyqAvQMYAIC8MXz48PInnnjiynbt2o2wjf/vnXfeiWuvvTaee+652Lx5s4UARMTmzZtjzpw58dprr0XPnj2jRYsWlvI/Kioq+n7rW98aMnXq1Ofee+89f3AAAMAusKV3ACuAAQDIC9/+9rc73n777X9o0aLFANv4b1VVVXHXXXfFvffeG+vXr7cQgI+wbt26eP7552P9+vWx2267RVFRkaVERElJSefjjjvuoA8++GDKK6+88hcbAQCAnUsBDABAXjv//PP7XXzxxX8oKSnpbBv/bfr06XHttdfGokWLLAPgU3jnnXdi2rRp0bp16+jc2R8nERHZbLbyC1/4whElJSUvTp48eY2NAADAzqMABgAgb/3ud7/b60c/+tFVRUVFrWwjYs2aNXHzzTfHpEmTora21kIAtkJtbW289NJL8c4770Tfvn2jtLQ073dSWFhYNnz48C/26dNn4UMPPbTMpwQAAHYOBTAAAHnp1ltv3f+b3/zmfxYWFjbP913kcrl4/vnn4/rrr4/ly5f7cAB8BitXroxp06ZFRUVFdOvWLTKZTF7vo6CgIDto0KBDBw0atOiBBx54xycEAAB2vC0VwJmex8Z+H/WF+pURa17ym6wAACTTww8//KXDDjvsXzKZTN6/rPGDDz6I22+/Pd544w0fDIDtbMCAAfGtb30r2rRpk/e7yOVyjVOmTPn1yJEjH/LJAACAHavN3jVR1OGjv6YABgAgdV555ZXTPve5z30r3/fQ0NAQjz32WDz++ONRV1fngwGwg2Sz2Tj66KPjC1/4QhQUFOT9Pl5//fU79tprr9/7ZAAAwI6jAAYAIC9ks9nMyy+/fFafPn2Oz/ddvPvuu3HbbbfFe++954MBsJN069YtvvOd70S3bt3yfhdLliy5f5999rmypqam0ScDAAC2PwUwAACpV1paWjBr1qyzevfufVw+7yGXy8WTTz4ZDz74oLt+AXaBbDYbxxxzTBxxxBF5fzfw0qVLHxg6dOjlSmAAANj+FMAAAKRar169mk2ePHlsu3btDsrnPaxcuTJuueWWePvtt30oAHaxnj17ximnnBIdOnTI6z2sXr16yiGHHPIvS5Ys2exTAQAA28+WCuDCyoHR9aO+0FgVUbMia3sAADRpQ4cOLXvqqacub9Omzf75uoNcLhfPPPNMXH/99bF27VofCoAmYP369TFlypQoKSmJnj17RiaTycs9NG/evPtJJ500ZPLkyc+sWLHCoykAAGA7KetcHwXlH/01BTAAAIk1ZMiQ0kceeeSKVq1a7Z2vO6iuro7bb789nnjiiWhs9IRNgKaksbEx5s+fH++//34MGDAgstn8/DlLaWlpp6997WuDn3rqqadXrlxZ75MBAACfnQIYAIDUOfTQQ1s8+OCDv2/ZsuUe+bqDOXPmxNVXX+2RzwBN3PLly+OFF16Ijh075u0joUtLSzudcMIJ+7/00ktPv/3227U+FQAA8NkogAEASJVhw4Y1v++++37TsmXLQfl4/vr6+hg/fnz88Y9/jNpaP0MHSILNmzfHiy++GJs3b47ddtstCgoK8m4HxcXFbY866qg9n3vuuaeXL1/ucdAAAPAZKIABAEiNI488snLcuHG/b9GixcB8PP97770XV111VcyZM8eHASCBFi1aFC+//HL069cvWrRokXfnLykp6XDcccftP2fOnGcWLVq0yScCAAC2jQIYAIBUOPLIIyvvvPPO35aXl++Wj+d/+umn48Ybb4wPP/zQhwEgwf7yl7/ECy+8ECUlJdGrV6+8O3+zZs3aHHXUUfspgQEAYNspgAEASLxjjz227W233faH5s2b98m3s1dVVcXNN98cTz31VDQ2NvowAKRAY2NjzJ8/P5YtWxYDBgyIZs2a5dX5mzVr1uaYY4458M0333xm4cKFNT4RAACwdRTAAAAk2qGHHtritttuuzofy9+33347rrnmmli8eLEPAkAKvf/++/HKK69Enz59orKyMq/Ons1mK4888sh9Zs6c+dTSpUs3+zQAAMCnpwAGACCxjjjiiJb33nvvteXl5f3y6dy5XC4mTZoUN998c1RVVfkgAKRYVVVVTJ06NbLZbPTp0ycymUzenL24uLjtV7/61c+/8sorTy1evLjWpwEAAD4dBTAAAIl06KGHtrj33nt/l2/lb3V1ddx0000xefLkyOVyPggAeSCXy8WCBQvi3Xffjd133z2y2fz5mUyzZs1aH3300fvNmDHjSXcCAwDAp6MABgAgcYYOHVo2fvz4qysqKgbk07mXLVsWV111lUc+A+SplStXxiuvvBKf+9znoqKiIm/O3axZszZHH3300GeeeebJFStW1PkkAADAlimAAQBIlCFDhpQ++uij17Rs2XL3fDr31KlT49prr42NGzf6EADksaqqqpg+fXq0bds2unTpkjfnLikpaT9q1KihTz755JMrV66s90kAAICPt6UCuMB6AABoSjp16pSdMGHCv1dWVu6RL2dubGyMcePGxR133BF1dW56AiCitrY2br755hg/fnw0NjbmzbkrKyv3mDBhwr9369bNXQkAALCNFMAAADQZrVq1Kpw+ffolbdq02T9fzlxdXR2/+93vYtKkSd73C8DfyeVy8fjjj8fvf//7qK6uzptzt2nTZv8pU6Zc0qpVq0KfAgAA2HoKYAAAmoSKioqC2bNnX9KuXbuD8uXMS5cujYsuuijmz5/vAwDAx3r11VfjoosuiqVLl+bNmdu1a3fQ7Nmz/72iosLPrgAAYCu5iAYAoEmYOXPmz9q1a3dIvpz35ZdfjiuuuCLWrVsnfAA+0bp16+KKK66Il19+OW/O3K5du4Nnzpz5M+kDAMDWUQADALDLvfjii2N69OgxKh/Omsvl4oEHHogbbrghamtrhQ/Ap1ZbWxs33HBDPPDAA3nz2oAePXqMevHFF8dIHwAAPj0FMAAAu9SkSZO+NnDgwFPy4ax1dXVx8803x8SJE73vF4BtksvlYuLEiXHLLbdEXV1dXpx54MCBJ0+aNOlr0gcAgE9HAQwAwC7z6KOPHnXggQeekw9nXbduXfz617+OWbNmCR6Az2zmzJnx61//Ol9eJZA58MADz3n00UePkjwAAHyywsqB0fWjvtBYFVGzImtDAADsEDfeeOO+Rx999EWZTKYw7Wddvnx5XHXVVbFy5UrBA7DdbNiwIWbPnh0DBw6MioqKtB8307179/179uz56sMPP7xc+gAA5LuyzvVRUP7RX1MAAwCw011xxRV7fPe7372qoKCgWdrPOmfOnPjtb38bGzduFDwA2111dXVMmzYtOnfuHB07dkz1WTOZTOHuu+9+eJs2bV6aNGnSKukDAJDPFMAAADQZZ5xxRvef/exnvy0sLCxP+1knTJgQd999d9TX1wsegB2moaEhXnrppchms9G3b99UnzWTyRTttddeB/3lL395dubMmRukDwBAvlIAAwDQJBx00EEVf/jDH64pLi7ulOZz5nK5eOCBB+Kxxx4TOgA77c+eBQsWRF1dXfTv3z8ymUxqz1pQUFBywAEHDJs+ffqkpUuXbpY+AAD5aEsFcIH1AACwMwwaNKj0vvvuu7qsrKxXms9ZV1cX1113XUyaNEnoAOx0EydOjOuvvz7q6upSfc6ysrJef/rTn67u379/idQBAODvKYABANjhKioqCh577LGLKyoqBqb5nNXV1XHNNdfE7NmzhQ7ALvPKK6/ElVdeGVVVVak+Z4sWLQZOnDhxbEVFhZ9vAQDA33CBDADADjdz5syftW3b9sA0n3HdunVx2WWXxRtvvCFwAHa5xYsXx2WXXRZr165N9TnbtWt34MyZM38mcQAA+P8UwAAA7FBPPvnkqB49eoxK8xlXrVoVV1xxRSxfvlzgADQZK1asiCuuuCJWrlyZ6nP26NFj1KRJk0ZJHAAA/lth5cDo+lFfaKyKqFmRtSEAALbZjTfeuO+XvvSlCzOZTGp/8fDdd9+NK6+8MtatWydwAJqc6urqmDVrVvTv3z8qKytTe85u3boN79mz57yHH37Yb2MBAJAXyjrXR0H5R39NAQwAwA5x3nnn9T311FOvLigoKE7rGV977bW45pprorq6WuAANFmbN2+OGTNmRI8ePaJ9+/apPGMmkykYNGjQIYWFhVOee+45v5UFAEDqKYABANipjjrqqFb/8R//8YdmzZq1SusZX3755bj++uujrq5O4AA0eQ0NDfHSSy9Fp06dolOnTqk8Y0FBQXbYsGGfnz9//qQ33nhjk9QBAEizLRXA3gEMAMB21a1bt+wNN9zwnyUlJR3TesYpU6bEjTfeGPX19QIHIDHq6+vjxhtvjKlTp6b2jCUlJZ1uuOGG/+jWrZu7GgAAyFsKYAAAtqunn376XyorK/dI6/kmTZoUd955ZzQ2NgobgMRpbGyMO+64I5588snUnrGysnLw008//UtpAwCQrxTAAABsN88///w3unTp8k9pPd/EiRNj3LhxkcvlhA1AYuVyubj//vtTXQJ36dLlS88+++yJ0gYAIB95BzAAANvFTTfdNPzII488L5PJZNJ4vsceeyzGjx8vaABS47XXXotmzZpF3759U3m+zp0779urV695Dz/88DJpAwCQNlt6B7ACGACAz+wXv/hF7x/+8IdXFxQUNEvj+R544IF45JFHBA1A6ixYsCDq6upiwIABqTtbJpPJDBo06ODGxsbnpk6dul7aAACkiQIYAIAd5oADDqj43e9+99tmzZq1TeP5xo0bF5MmTRI0AKm1aNGi2Lx5cwwcODB1ZysoKMjut99+w5577rnH33vvvc3SBgAgLbZUAHsHMAAA2yybzWbuvPPOfyktLe2exvNNmDBB+QtAXpg0aVI89NBDqTxbaWlpj3vuuedfstlsRtIAAOQDBTAAANvs+eef/06HDh0OTePZHn744Xj44YeFDEDeeOSRR+LPf/5zKs/WoUOHw5599tlvSxkAgHygAAYAYJvcd999hw8ePPjUNJ7t/vvvjwkTJggZgLzz2GOPxX333ZfKs+25554/+NOf/nSYlAEASDvvAAYAYKudccYZ3ceMGXN5QUFBcdrONnHixHjkkUeEDEDeWrx4cWSz2ejbt2/ajpbp06fPvn/5y18mz5w5c4OkAQBIsi29A1gBDADAVhk2bFjzG2+88Q/NmjVrl7azPfroo6l99CUAbI2FCxdGUVFR9OvXL1XnKigoKD7wwAP3e/LJJx9dsWJFnaQBAEiqLRXAHgENAMBWuffee39ZWlraPW3nevzxx+PBBx8UMAD8jz//+c8xceLE1J2rtLS0x3333fdLCQMAkFYKYAAAPrVJkyaN6tSp0xEpPFeMHz9ewADwD8aPHx+TJ09O3bk6der0hUmTJn1VwgAApJFHQAMA8Kmcd955fU888cR/z2QyRWk618yZM+Puu+8WMAB8jNdeey06duwYnTt3TtW5unbtuk9BQcHzzz333DopAwCQNN4BDADAZ3LEEUe0vOKKK67NZrOVaTrXyy+/HDfffHPkcjkhA8DHyOVyMXv27OjSpUt06tQpNefKZDJF++yzz/CpU6c+9u67726WNAAASeIdwAAAbLNsNpu55ZZb/q2kpKRjms61YMGCuPnmm6OxsVHIAPAJGhsb4+abb44333wzVecqLS3tcvfdd5+fzWYzUgYAIC0UwAAAbNGkSZO+3rZt2wPTdKZly5bFDTfcEPX19QIGgE+prq4urr322li+fHmqztWuXbsDH3/88VESBgAgLTwCGgCAj3XZZZcN+upXvzo2k8mk5hcH33///bjyyiujqqpKwACwlerq6uLll1+OIUOGRHl5eWrO1aVLl31LS0unPvPMM2ukDABAEngENAAAW61///4lJ5988q8ymUxRWs60YcOG+P3vfx8bN24UMABso40bN8bvfve7VP15WlBQkP3hD394ft++fYslDABA4q9vrQAAgI/y4IMPnl1WVtYrLeeprq6O3/zmN7Fq1SrhAsBntGrVqrjyyiujuro6NWcqKyvr8/DDD58lXQAAkk4BDADA/zF+/Pgju3XrdnRazlNfX5/KdxYCwK60fPnyuO6666K+vj41Z+rRo8dXx40bd4R0AQBIMgUwAAB/53vf+16nI4444py0nCeXy8Vtt90Wb7zxhnABYDt7/fXX47bbbotcLpeaMx155JHnfvvb3+4oXQAAkkoBDADA/6qoqCi4+OKLLywsLCxPy5nGjx8fs2bNEi4A7CCzZs2Khx56KDXnKSwsrPj1r399QUVFhZ+bAQCQSC5kAQD4XxMnThxdWVk5OC3nef7552PixImCBYAd7LHHHosXXnghNeeprKzc89FHHz1RsgAAJFFh5cDo+lFfaKyKqFmRtSEAgDxxwQUX7DZq1KgLM5lMYRrO8+qrr8Ytt9ySqkdSAkBT/7O3d+/e0a5du1Scp2PHjkNzudxzU6ZMWSddAACamrLO9VHwMc/wcwcwAADRt2/f4h//+McXZzKZVPwG4HvvvRc33HBDNDY2ChcAdpKGhoa47rrrYtmyZak4T0FBQfbss88e27dv32LpAgCQqGtZKwAAYPz48T8qKyvrkYazbNiwIX7/+99HbW2tYAFgJ9u0aVP8/ve/j40bN6biPGVlZb3GjRs3RrIAACSJAhgAIM/ddNNNw/v06XN8Gs5SX18f1157baxdu1awALCLrFmzJq699tqor69PxXn69ev3jd///vdDJQsAQFIogAEA8thBBx1Uceyxx/5rRGTScJ477rgjFi9eLFgA2MUWLVoUd955Z1qOU/CNb3zj34YNG9ZcsgAAJOIC1goAAPLXzTfffFZxcXG7NJxl4sSJMX36dKECQBMxbdq0mDRpUirOUlJS0unOO+88Q6oAACSBAhgAIE/913/914FdunT5UhrO8tprr8Wf//xnoQJAEzN+/PhYsGBBKs7SrVu3o2+66abhUgUAoKlTAAMA5KEvfelLlV/5yld+lYazrFixIq6//vpobGwULAA0MY2NjXHdddfFihUr0nCczHHHHfergw46qEKyAAA0ZQpgAIA8dPXVV5+ezWYrk36OmpqauPbaa2PTpk1CBYAmatOmTXHttddGTU1N4s+SzWbb3njjjT+RKgAATZkCGAAgz9x6663Du3Tp8uWknyOXy8Utt9wSK1euFCoANHErV66MW2+9NXK5XOLP4lHQAAA0dQpgAIA8MnTo0LKvfvWrv0jDWSZMmBBz584VKgAkxJw5c+Kxxx5LxVlGjRr1i6FDh5ZJFQCApkgBDACQR+64444fFRcXd0z6OV5++eV45JFHBAoACfPQQw+l4he4SkpKOt5xxx0/lCgAAE2RAhgAIE9cfvnlu/fs2XNU0s/xwQcfxB133JGKR0gCQL7J5XJx2223xZo1axJ/lp49ex57+eWX7y5VAACaGgUwAEAe6NatW/a73/3uv2YymURf/9XX18cNN9wQ1dXVQgWAhKqqqoobb7wx6uvrE32OTCZT8N3vfvdX3bp1y0oVAICmRAEMAJAHxo8ff0pZWVmvpJ/jnnvuiaVLlwoUABJuyZIlcd999yX+HGVlZT3Hjx9/ikQBAGhKFMAAACn385//vOeAAQNGJ/0c06dPjylTpggUAFJi8uTJMWPGjMSfY8CAAaN//vOf95QoAABNhQIYACDFstls5qyzzjo3k8kk+tGEK1asiLvvvlugAJAyd911V6xYsSLRZ8hkMtmzzjrr3Gw2m5EoAABNgQIYACDFxo0b98XKysq9knyG2trauOGGG6K2tlagAJAyf/1zfvPmzYk+R2Vl5V7jxo0bKVEAAJoCBTAAQEoNHz68/OCDDz4t6ee4//77Y/ny5QIFgJRavnx5jBs3LvHnGDFixI+HDRvWXKIAAOxqCmAAgJS69dZbT8tms22TfIYZM2bEc889J0wASLnJkyfHzJkzE32G4uLitrfffvtp0gQAYFdTAAMApNBVV121R48ePb6S5DOsXLky7rrrLmECQJ64++6744MPPkj0GXr27PnVK664Yg9pAgCwKymAAQBSprS0tOAb3/jGT5N8rdfY2Bi333679/4CQB6pqamJ2267LRobG5N8jIJvfvObZ5aWlvqZGwAAu+6i1AoAANJlwoQJX6uoqBiQ5DOMHz8+Fi1aJEwAyDNvvvlmPPjgg4k+Q4sWLQY9+OCDx0gTAIBdRQEMAJAiRx55ZOWwYcN+kOQzzJ07N5544glhAkCemjhxYixYsCDRZxg+fPiPjjjiiJbSBABgV1AAAwCkyBVXXHFyUVFRRVLnr6qqijvvvDNyuZwwASBP5XK5uP3226O6ujqxZygqKmrxm9/85mRpAgCwKyiAAQBS4vzzz+/Xu3fv45J8httvvz0+/PBDYQJAnlu3bl3cfvvtiT5D7969jz///PP7SRMAgJ1NAQwAkALZbDZz6qmn/jyTyST2+m769OkxZ84cYQIAERExe/bsmDFjRmLnz2QyBaeeeurPs9lsRpoAAOxMCmAAgBT44x//eERlZeXgpM6/du3auPfeewUJAPyde+65J9atW5fY+SsrKwf/6U9/+oIkAQDYmRTAAAAJ17dv3+JDDjnkR0k+w9133x01NTXCBAD+Tk1NTdx9992JPsPBBx/8o759+xZLEwCAnUUBDACQcHfdddc3S0pKOiV1/smTJ8e8efMECQB8pLlz58azzz6b2PlLSko63nPPPd+SJAAAO4sCGAAgwb70pS9VDhw48KSkzr9mzZoYP368IAGALXrggQdizZo1iZ2/f//+Jx111FGtJAkAwM6gAAYASLArrrji1MLCwvIkzp7L5eK2226LTZs2CRIA2KJNmzbFbbfdFrlcLpHzFxYWll1++eU/kCQAADuDAhgAIKF+8Ytf9O7evftXkjr/s88+G2+88YYgAYBP5Y033ojnn38+sfN369bt6F/96ld9JAkAwI6mAAYASKgf/vCHP8pkMom8nvvggw/igQceECIAsFXGjRsX69atS+TsmUym4NRTT/2xFAEA2NEUwAAACXTdddcNa9eu3YFJnD2Xy8Udd9wRtbW1ggQAtsqmTZvizjvvTOz8bdq02f+mm27aT5IAAOxICmAAgIQpLS0t+NrXvnZ6Uud/4YUXYuHChYIEALbJq6++GjNmzEjs/Mccc8zpFRUVfiYHAMAO42ITACBhbr/99oMrKip2S+LsGzZsiHHjxgkRAPhM7r///qiqqkrk7OXl5X3/67/+6wgpAgCwoyiAAQASpKKiouCwww47Nanz33vvvYn9YS0A0HRs2LAh7r///sTOf9BBB/1zq1atCiUJAMCOoAAGAEiQ+++//+iysrKeSZx9zpw58dJLLwkRANguXnjhhViwYEEiZy8tLe32xz/+8StSBABgR1AAAwAkRN++fYv33Xfff07i7LW1tXHvvfcKEQDYru6+++6oq6tL5Oz77bffKf379y+RIgAA25sCGAAgIW6++eZRxcXFbZM4+yOPPBJr164VIgCwXa1atSoee+yxRM6ezWbb3njjjV+TIgAA25sCGAAgAYYOHVq21157fSeJs7/33nvxxBNPCBEA2CEmTpwYK1asSOTsQ4YM+c7QoUPLpAgAwPakAAYASIBrr732xKKiosqkzZ3L5eKee+6JxsZGIQIAO0R9fX3cddddkcvlEjd7UVFR5bXXXnuCFAEA2J4UwAAATdwBBxxQMWDAgG8kcfYZM2bEW2+9JUQAYId6880348UXX0zk7AMGDPjG8OHDy6UIAMD2ogAGAGjirrrqqhOKiooqkjb3pk2b4oEHHhAgALBT3H///VFbW5u4uYuKilpcffXV7gIGAGC7UQADADRhBx10UEX//v0Teffvww8/HB9++KEQAYCdYv369TFhwoREzj5w4MBvHHDAARVSBABge1AAAwA0Yf/5n/95bGFhYfOkzb1q1aqYPHmyAAGAnerpp5+O1atXJ27uwsLC8ssuu2yUBAEA2B4UwAAATdQBBxxQMWjQoNFJnP3uu++O+vp6IQIAO1V9fX3cddddiZx99913/+bQoUPLpAgAwGelAAYAaKIuv/zyYwsLC8uTNvfcuXNjwYIFAgQAdokFCxbE3LlzEzd3UVFRi9/97ndflyAAAJ+VAhgAoAkaOnRo2aBBgxL37t+6urr405/+JEAAYJf605/+FHV1dYmbe/fdd//mkCFDSiUIAMBnoQAGAGiCfvOb33ylqKioZdLmfu655xL53j0AIF1Wr14dzz33XOLmLioqann11VcfLUEAAD4LBTAAQBPTq1evZoMHD/5m0uaurq6ORx55RIAAQJPwyCOPRHV1deLmHjJkyLe6deuWlSAAANtKAQwA0MTcdNNNxxQXF7dN2twTJkyIqqoqAQIATUJVVVUifzmtuLi43a233uouYAAAtpkCGACgCWnVqlXhXnvtdVLS5l61alU8++yzAgQAmpTJkyfHqlWrEjf30KFDR7dq1apQggAAbAsFMABAE3LLLbccXlJS0jlpcz/44INRX18vQACgSamvr48HH3wwcXOXlJR0vummmw6VIAAA20IBDADQRGSz2cwBBxzw7aTNvWjRonjppZcECAA0SS+99FIsXrw4cXOPGDHiO9lsNiNBAAC2lgIYAKCJuOaaa/YuLy/vm7S5H3roocjlcgIEAJqkXC6XyLuAy8vL+1111VV7SRAAgK2lAAYAaCK+8pWvfDdpM8+bNy8WLlwoPACgSVu4cGG8+uqrrg8BAMgLCmAAgCbgsssuG1RZWblPkmbO5XIxfvx44QEAifDAAw8k7qklrVu33veSSy7pLz0AALaGAhgAoAkYNWrUCUmbefbs2bFs2TLhAQCJsGzZsnjllVcSN/cJJ5xwovQAANgaCmAAgF3sn//5nzt37NjxiCTN3NjYGA888IDwAIBEGT9+fDQ0NCRq5k6dOn1h9OjRHaQHAMCnpQAGANjFfvSjH30tk8kk6rps2rRpsWrVKuEBAImyatWqeOGFFxI1cyaTKfzpT386SnoAAHxaCmAAgF1o0KBBpX369Plqkmaur6+PCRMmCA8ASKQJEyZEXV1dombu27fvV/r27VssPQAAPg0FMADALnTZZZcdXlRUVJGkmadOnRpr164VHgCQSOvXr48pU6YkauaioqLK3/zmN0dIDwCAT0MBDACwi2Sz2cy+++57UpJmrqurc/cvAJB4jz76aOLuAt5///1PymazGekBAPBJFMAAALvI1VdfPbSsrKx3kmaeMmVKbNiwQXgAQKJt2LAhnn/++UTNXFZW1ueqq67aS3oAAHwSBTAAwC7y5S9/+bgkzVtfXx8TJ04UHACQCo8//nji7gL+0pe+dLzkAAD4JApgAIBdYPTo0R3atm07IkkzT5s2LdatWyc8ACAVPvzww5g+fXqiZm7fvv2I0aNHd5AeAABbogAGANgFfvrTn47KZDKFSZm3vr4+HnnkEcEBAKnyyCOPRH19fWLmzWQyhT/96U+/JjkAALZEAQwAsJN16tQp26dPn6OTNLO7fwGANFq3bl1MmzYtUTP36dPnmE6dOmWlBwDAx1EAAwDsZFddddUB2Wy2dVLmbWxsjEmTJgmOVOvYsWN06OCJmgD5aNKkSdHY2JiYebPZbOurrrrqAMkBAPBxFMAAADvZiBEjvp6keV988cVYtWqV4Ei1Ll26xIUXXhinnXZadO3a1UIA8siqVavipZdecj0JAEBqKIABAHaiM844o3tlZeXeSZk3l8vFxIkTBUdeyGQyMXjw4PjVr34VY8aMcUcwQB55/PHHI5fLJWbeysrKvc8444zukgMA4KMogAEAdqJTTjnlqxGRScq8CxYsiPfee09w5JVMJhN77713XHjhhTFmzJho3769pQCk3HvvvRcLFy5M1B9X/3NdCQAA/4cCGABgJ+nVq1ezXr16fTlJM3v3L/nsr0XwBRdcECeffHK0bdvWUgBSLGnXPb169fpyr169mkkOAIB/pAAGANhJrrjiioOLiopaJmXeBN4JAztEYWFhDB8+PC688MIYPXp0VFZWWgpACi1YsCCWLVuWmHmLiopaXnnllYdIDgCAf6QABgDYSYYPH/6VJM2btHfhwY5WVFQUI0aMiEsuuSRGjx4dLVu2tBSAFMnlcvH4448naub99tvvK5IDAOAfKYABAHaC0aNHd6isrByalHnXrl0bL7/8suDgI/y1CL744ovjhBNOiBYtWlgKQEq89NJLsW7dusTMW1lZudfo0aM7SA4AgL+lAAYA2AlOP/30o5J07fXMM89EQ0OD4GALiouL47DDDouxY8fGqFGjoqyszFIAEq6hoSGeeeaZJI1c8D/XmQAA8P8vEq0AAGDHymazmX79+n05KfPW1tbGlClTBAefUnFxcYwcOTIuvfTSGDVqVJSWlloKQII9//zzUVtbm5h5+/Xr9+VsNpuRHAAAf6UABgDYwX7zm9/sWVJS0jkp886YMSOqq6sFB1uppKQkRo4cGZdcckkcffTRUVJSYikACVRdXR0zZ85M0p8/na+44orBkgMA4K8UwAAAO9gXvvCFLyVl1lwuF08//bTQ4DNo3rx5HHXUUXHJJZfEyJEjI5vNWgpAwjz11FORy+USM++RRx75ZakBAPBXCmAAgB1oyJAhpZ07dz4iKfO+/vrrsWLFCsHBdlBeXh6jRo2KSy+9VBEMkDArVqyI119/PTHzdunS5fD+/ft79AQAABGhAAYA2KHGjh17aGFhYWJeCOruX9j+KioqYtSoUXHxxRfH4YcfHkVFRZYC4LpouyosLGz+H//xHwdLDQCACAUwAMAOteeeex6ZlFnXrl0b8+bNExrsIK1atYrjjz8+LrroohgxYkQUFPh2DKApmzdvXqxZsyYx8+61115HSg0AgAgFMADADnPMMce0bt269b5Jmfe5556LxsZGwcEO1qZNmxg9enRcfPHFimCAJqyxsTGee+65JP35MvyYY45pLTkAAPykAQBgBznzzDMPz2Qyibje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FpafffbZvaQFAJA+CmAAgE9p//3375+EOV9//XVhAXmjvLw8Ro0aFf/+7/8eI0eOjGw2aymA67FP6fOf//xAaQEApI8CGADgU+rRo8fuTX3G2traePvtt4UF5J2KiooYNWpUXHzxxXH44Yc3+XdvAum2ePHiRLySo1evXoOkBQCQPgpgAIBPqXXr1k3+DoklS5ZEQ0ODsIC81apVqzj++OPj4osvjhEjRkRBgW97gZ2voaEhlixZ0uTnbNOmjQIYACCFfCcMAPApDBkypLR58+a9m/qcb775prAAIqJ169YxevToGDt2rCIYcF32MZo3b95n0KBBpdICAEgX3wEDAHwKp556av9MJtPkr53eeustYQH8jTZt2sTo0aPjvPPOi+HDhyuCAddlfyOTyRT84Ac/+Jy0AADSxXe+AACfwuDBg5v84/Hq6+tj0aJFwgL4CJ06dYqTTz45/u3f/i323nvvyGQylgLsUIsXL07Eqzn23HPPgdICAEgXBTAAwKfQpUuXAU19xnfeeSfq6uqEBbAFnTt3jjFjxiiCgR2utrY23n333SRc53oPMABAyiiAAQA+hZYtW/Zv6jN6/DPAp9elS5cYM2ZMnHvuuTF48GALAfL2+iwJ17kAAGwdBTAAwCcYPnx4eUlJSeemPqfHPwNsvV69esVpp50W55xzTvTvrwMB8u/6rLS0tPPw4cPLpQUAkB4KYACAT/Ctb31rt4ho8s8IXbx4sbAAtlGfPn3irLPOinPOOSd22203CwG2i4T8gl7m29/+dj9pAQCkhwIYAOAT7L777k2+CVi7dm1s2LBBWACfUZ8+feLss8+OM888M3r27GkhwGfy4Ycfxrp165r8nAMHDlQAAwCkSJEVAABsWadOnZr8D8TefvttQQFsRwMGDIgBAwbEggULYvz48bF06VJLAbb5Oq1Vq1audwEA2GkUwAAAn6CyslIBDJCnBgwYEP3794958+bFQw89FO+++66lAFtlyZIlsddeezX1613PvgcASBEFMADAFnTq1CnbvHnzXk19ziVLlggLYAfJZDIxePDg2GOPPeLll1+OBx98MFauXGkxQGqu05o3b967Xbt2RatXr66XGABA8nkHMADAFowZM6ZnJpPJNuUZGxsbPZoUYCfIZDKx9957x4UXXhhjxoyJ9u3bWwrwiZYuXRqNjY1NesaCgoLsqaee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k8nE7NmzY+LEibFmzRoNAXif/VNSzJo161kTAwBongTAAAC70O233/7KOeecszU/P78022sdMGBAtG/f3tWu0My9+uqrMWnSpFi1apVmALyPjh07xgEHHJCIWhsbG6u/8Y1v/NXUAACaJwEwAMAutHLlyob169fP6tat2+hsrzWVSsXhhx8ekyZNMjhohubMmROTJ0+OJUuWaAbAh3D44YdHKpVKRK3r16+fVVFR0WhqAADNU54WAADsWq+++mpirts77LDDDAyamTfffDP+/d//PX7yk58IfwE+pFQqFSNGjEhMva+88sozpgYA0Hw5AQwAsIvddNNNz5166qnV+fn5rbO91m7dukX//v1j4cKFBgc5btmyZfHYY4/F/PnzNQPgIzrggAOic+fOiai1sbFxy4033jjL1AAAmi8BMADALrZy5cqG8vLyGT179vx0Euo9+uijBcCQw5YvXx7jxo0T/AJ8wv1SUpSXlz9TXl7eYGoAAM2XABgAYDeYMWPGUxdccEEiAuAhQ4ZE69ato7q62uAgh6xcuTImTJgQc+fOjUwmoyEAH1ObNm3i0EMPTUy9zz777FOmBgDQvPkGMADAbvDVr371lYaGhk1JqLWgoCCOOOIIQ4McsW7duvj5z38ed955Z8yZM0f4C/AJjRw5MvLz8xNRa0NDw8abbrrpVVMDAGjenAAGANgNKisrm1atWjW9T58+5ySh3qOPPjqefPJJQREk2Pr16+Oxxx6L2bNn+3cZYBdJpVIxatSoxNS7cuXKadXV1WmTAwBo3pwABgDYTaZNm5aY6/c6duwYAwYMMDRIoA0bNsSvf/3r+Nd//dd49dVXhb8Au9CAAQOiY8eOian36aefftLUAAAQAAMA7CZf+9rX5tTX11ckpd6jjjrK0CBBqqqq4v77749vf/vb8eKLL0ZTU5OmAOxiRx55ZGJqra+vX/eNb3zjdVMDAMAV0AAAu0ltbW16xYoVT++///6fT0K9hx56aLRt2zaqqqoMD7LYli1bYsqUKfHcc8/F9u3bNQRgN2nbtm0MGTIkMfUuX778qdraWtc/AwDgBDAAwO70xz/+cUJSas3Pz4/jjjvO0CBL1dTUxKOPPhq33XZb/OUvfxH+Auxmxx57bOTn5yel3Myvf/3rCaYGAECEABgAYLe66667llZXV89PSr1HH310tGjRwuAgi7wd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qATAAABZ4umnn968fPnyxF3xN3r06GjXrp0BAgBZqUOHDnH88ccnru5ly5ZNmD59+hYTBADgoxIAAwBkkbvvvvtPmUymKUk1FxYWxumnn254AEBWOvPMMxP3yYpMJtN41113/dH0AAD4OATAAABZ5Be/+MWatWvXTkta3UcccUT06tXLAAGArNK7d+847LDDEld3eXn5X+6///51JggAwMchAAYAyDIPP/zwn5JWcyqVijPPPNPwAICsMmbMmEilUomr+8EHH/yT6QEA8HEJgAEAsszXv/71NzZs2DAraXUPHDgwDj74YAMEALLCoEGDYsCAAYmru6KiYuatt966wAQBAPi4BMAAAFlo3Lhxv01i3WPGjIm8PFtMAGDvysvLizFjxiSy9j//+c+/NUEAAD7RflgLAACyz/XXXz+nqqrqr0mru1evXnHUUUcZIACwVx1zzDHRvXv3xNW9adOmV2666aa5JggAwCchAAYAyFJ/+tOf7k1i3WPGjInS0lIDBAD2ijZt2sRZZ52VyNofeOCBe00QAIBPSgAMAJClbrrpprlJPAVcXFwcZ555pgECAHvFWWedFS1btkxc3Zs2bXrl5ptvnmeCAAB8UgJgAIAsNm7cuF8lse5Ro0ZF7969DRAA2KP69OkTI0eOTGTtjz322K9MEACAXUEADACQxcaOHTu7qqrqb0mrO5VKxfnnnx+pVMoQAYA9tv/4/Oc/n8j9R2Vl5d+uueaav5kiAAC7ggAYACDLTZ069bdJrLtv374xZMgQAwQA9ojDDjsssTeQTJ48+TcmCADAriIABgDIcpdeeumLVVVVryax9s9//vNRXFxsiADAblVaWhrnn39+Imuvqqr66+WXX/6SKQIAsKsIgAEAEuChhx76WRLrLisri9NPP90AAYDd6qyzzoqSkpIklp753e9+91MTBABgVxIAAwAkwA033DB3w4YNs5JY+3HHHRd9+vQxRABgt+jbt28cddRRiay9oqJi1te//vU3TBEAgF1JAAwAkBA///nPfxoR6aTVnUql4vOf/3zk5dl6AgC7Vn5+flx00UWRSqWSWH76F7/4xX+bIgAAu5q3cAAACXHHHXe8tW7duulJrL13795xzDHHGCIAsEudcMIJ0b1790TWXl5e/pc77rjjLVMEAGBXEwADACTI3XfffW8mk2lKYu1nnXVWtG3b1hAB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onv37vEv//IvccABBzSrdWcymaYnnnji9s997nPPeAoAAODDEQADAJBYDz/88NJjjjlmY+/evY+KiGZzFKq0tDSGDx8eq1evjvXr13sQAHLcwIED45prrol27do1t6VnZsyY8YOzzjprqqcAAAA+PAEwAACJdv/99795zDHHVO6zzz5HRDMKgVu0aBGHHXZYtGzZMhYuXBjpdNrDAJBjCgoK4pxzzonzzz8/WrRo0dyWn37uuefuOuWUUyZ4EgAA4KMRAAMAkHi///3v5w8bNmxF3759j2lO10GnUqno27dvDB06NBYvXhxbtmzxMADkiJ49e8YNN9wQgwcPblbf+434x7XPU6ZM+fbpp58+2ZMAAAAfnQAYAICc8OCDDy4ZNmzYin79+jWrEDgionXr1nHEEUdEfX19LF261MMAkGCpVCpOOOGEuOKKK6JNmzbNbv07wt9vnXPOOX/xNAAAwMcjAAYAIGc89NBDS4YNG7a8X79+xza3EDg/Pz8OPvjg6NWrV8yfPz8aGho8EAAJU1JSEpdffnmccMIJkZ+f3+zWn8lkGp944olvffazn53maQAAgI9PAAwAQE556KGHlo4cOXJdnz59RqWa252ZEdG1a9cYNmxYLFu2LCorKz0QAAnRt2/fuO6662K//fZrluvPZDLpp59++rvnnHPO054GAAD4ZATAAADknD/96U+LDj300KX7779/s7sOOiKiuLg4jjzyyCgpKYk333wz0um0hwIgSxUUFMRnP/vZuPDCC6OkpKRZ9iCdTjc88sgjt5x//vnTPREAAPDJCYABAMhJDz/88NId3wQelUqlmt09mqlUKvr06RMHH3xwLFy4MLZt2+ahAMgynTt3jrFjx8bQoUOjGV5aERH/CH+feOKJ2y+88MLnPBEAALBrCIABAMhZDz300JIePXq8NmjQoGPz8vJaNMcetG3bNkaNGhVNTU2xZMkSDwVAFkilUjF69Oi48soro0OHDs22D01NTdt++9vf/stll132oqcCAAB2HQEwAAA5bdKkSeXdu3efM3jw4GYbAufn58eAAQOiV69esWDBgti+fbsHA2Avad26dVx66aVx/PHHR35+frPtQ2NjY/WvfvWrf7nuuute81QAAMCuJQAGACDnTZ48eW1jY+OMI4444uiCgoKS5tqHrl27xqhRo2Lbtm2xcuVKDwbAHpRKpWLUqFExduzY6NWrV7PuRX19/fo77rjjK9/61rcWejIAAGDXEwADANAsPP/881UbNmx45rjjjjuqsLCwrLn2obCwMAYNGhT77bdfLF68OGpraz0cALtZ+/bt44orrogTTzwxCgub9/uU2tralTfffPPVP/nJT1Z7MgAAYPcQAAMA0Gz87W9/27p27doZJ5xwwsjCwsK2zbkXnTp1ipEjR0Z1dbXTwAC70ciRI+Pqq6+OHj16NPte1NTULL/hhhuu/e1vf7vOkwEAALuPABgAgGbltdde2zpv3rynTznllKFFRUWdmnMvCgsL49BDD4399tsvFi1a5DQwwC709qnfk08+udmf+o2I2Lx587yLL774unHjxm30dAAAwO71fgFwat9zYsTOftC4LmLjq610DwCAxOrVq1fhs88++69du3Y9QTciGhoaYurUqTF58uRobGzUEICPqaCgIE499dQYPXq04HeH8vLyp4499tjvrly5skE3AABg9+swrDYKuuz8ZwJgAAByWuvWrfNeeumlm/fdd9+zdeMfVq9eHffff38sWbJEMwA+ov322y8uuugi1z2/w8KFC38/fPjwnzY0NGR0AwAA9gwBMAAAzd7zzz9/8aGHHnp1RKR0IyKTycTMmTPjz3/+c9TV1WkIwAcoKSmJ8847L0aMGBGplL9Kdki//PLL9xx77LEPagUAAOxZ7xcA+wYwAADNwn333Tfn+OOP39yrV6/DQwgcqVQqevfuHcOHD49169ZFRUWFhwTgPRxyyCExduzY6N+/v/B3h0wm0/jMM8/828knnzxONwAAYM97v28AC4ABAGg2fve7370xePDgJf369Ts6lUrl60hEcXFxjBgxInr06BFLly6N2tpaTQHYoUOHDvGFL3whzjzzzCguLtaQHZqammoeeOCBWz73uc9N1w0AANg7BMAAALDDww8/vKygoOC54cOHH1FQUFCqI//QrVu3OO6446K0tDQWL14cTU1NmgI0Wy1btoxzzjknLr300ujevbuGvENtbe2K22677arbbrvtDd0AAIC9RwAMAADv8Oyzz25avHjx0yeddNKQoqKiTjryD3l5edGnT58YOXJkbN26NVatWqUpQLNz+OGHx1e+8pUYMGBA5OXlacg7VFVV/e3CCy+8/oEHHvDdAAAA2MsEwAAA8C7z58+vefbZZ58+44wz+hcX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OigOOOCAKCoq0pQs0djYuGXmzJk/PvPMMyc2NDS4XgAAAPjQBMAAAJADjjzyyNY/+9nPrujbt++5EZGnI9mluro6Fi5cGPPnz4958+ZFZWWlprBXtGvXLg455JAYMGBA9O/fP1q39nsjWSj91ltv/fmqq676xaxZs6q1AwAA+KgEwAAAkEN++ctfjhgzZsyNrVq16q0b2SmdTsfKlStj0aJFsXDhwli8eHFs27ZNY9gtSkpKol+/ftG/f//Yf//9o1evXpGX53dEslVNTc3yRx999EdXXnnlK7oBAAB8XAJgAADIMd26dSt8+OGHPzd48ODL8vPzbdyzXCaTiTVr1sTChQtj0aJFsWjRotiyZYvG8LGUlZVF//79/xn6du/ePVKplMZkuaampprXXnvtV2PGjHmgoqKiUUcAAIBPQgAMAAA56rjjjiv7r//6r8tdC508mzdvjuXLl8eKFSti+fLlsXjx4qipqdEY/pfi4uLo169f9O7dO/bZZ5/Yd999o6ysTGMSJJPJpJcsWfLn66677pfTp0/3mx8AAMAuIQAGAIAc99Of/nTIueeee3NpaWlf3UimxsbGWLlyZSxdujSWLVsWy5cvj3Xr1kUmk9GcZiKVSkWXLl1in332iT59+kSfPn2iV69eUVBQoDkJtXXr1sUPPvjgj6699tq/6wYAALArCYABAKAZaNeuXf64cePOGTp06BUFBQWtdST56uvrY+XKlf88KbxixYpYu3ZtpNNpzUm4vLy86Nq1a+yzzz7//KdXr17RsmVLzckBjY2NW/7617/+4pxzznm0srKySUcAAIBdTQAMAADNyIknntjmnnvuuXzfffcdk0qlHB3MMdu3b481a9bEmjVrYu3atbF27dooLy+PDRs2CIazUF5eXnTs2DG6desWXbt2jW7dukW3bt2iR48eUVhYqEE5JpPJNC5ZsuRR1z0DAAC7mwAYAACaoa9+9av7Xnfdddd16NDhCN3IfY2Njf8MhNetWxfr1q2LioqKWLduXWzbtk2DdrPS0tLo3LnzP//p0qVLdO3aNbp27eoK52Ziw4YNM//rv/7rxz/60Y+W6wYAALC7CYABAKAZ++UvfznirLPOuq64uNj3gZupmpqaWL9+/T//qaioiMrKyqisrIxNmzZFY2OjJn2AgoKCaN++fbRr1y7at28fHTt2jC5dukSnTp2ic+fOUVxcrEnN1NatW98aP378PVdcccXLugEAAOwpAmAAAGjm2rVrl//ggw+eOWLEiCsLCwvb6gjvtHnz5n+GwZs2bYrKysqorq6OLVu2xJYtW6K6ujqqq6sjk8nk3NpTqVS0bt06WrduHWVlZdGmTZsoLS39X2Fvu3btok2bNh4U/peGhobKl1566efnnHPO+OrqavevAwAAe5QAGAAAiIiIoUOHFt97770XHHjggRfk5+c7ssiHlk6n/xkEV1dXR01Nzfv+k8lkora2NtLpdNTX10dTU1PU1dXt0u8U5+XlRcuWLSM/Pz+KiooiLy8vWrVqFalUKoqLi3f6T0lJSbRq1eqfgW9paWnk5eUZMB9aU1NTzYIFC/745S9/+Y+zZ8+u0REAAGBvEAADAAD/y2mnndb2rrvuurRPnz5n5+XlFeoIe9LbgfDbtm/f/r7XUBcUFESLFi3++b/fDnxhT8pkMg1LliwZd8stt/xq0qRJVToCAADsTQJgAABgp0477bS2d95554X777//5wTBAP9XJpNpWLhw4QO33nrrHwS/AABAtni/ADi/7UHRc2c/SG+LqC33/gcAAHLZokWL6u69995X0un0swcddFCnkpKS3roC8A8VFRUz/7//7/+77aKLLpq6aNGiOh0BAACyRXH3xsgr3fnPBMAAAEDMnDmz8u67736qqalpWr9+/Ypbt27dN5VKpXQGaG4ymUx6zZo1U+65555/Peeccx6cOXNmpa4AAADZRgAMAAB8KDNnzqz88Y9//Gw6nZ4uCAaak7eD37vvvvtfzz///McEvwAAQDYTAAMAAB+JIBhoLgS/AABAEgmAAQCAj+XtILisrOyFvn37diwuLu4VEYJgIBdkKioqnrv33nu/PWbMmEcEvwAAQJK8XwCc2vecGLGzHzSui9j4aivdAwAA/unqq6/u8ZWvfOX8Pn36nJWXl9dCR4CkSafT9UuXLh3/X//1Xw/84he/WKMjAABAEnUYVhsFXXb+MwEwAADwkZ1xxhntb7/99rMPPPDA8/Pz81vrCJDtmpqaqhcsWPDgd77znUcmTpzotC8AAJBoAmAAAGC3GD58eMkPf/jDzwwePPjioqKijjoCZJv6+voNr7322u9vvPHGx2fPnl2jIwAAQC4QAAMAALvV0KFDi++5556zDjnkkPOKioq66giwt9XV1a19/fXXH7z++uvHC34BAIBcIwAGAAD2iFatWuXdc889w0455ZTzO3bseJSOAHtYZsOGDbOmTJny4PXXX/9qbW1tWksAAIBcJAAGAAD2uH/913/tf/7555/dq1ev0/Ly8lroCLC7pNPp+pUrV05+4IEHHvnOd76zSEcAAIBcJwAGAAD2mjPOOKP97bfffvYBBxzw2YKCgjY6AuwqjY2NVW+++eafv/e97z06YcKETToCAAA0FwJgAABgrxs+fHjJ97///dGDBg0aU1paur+OAB9XdXX1wtdee+3Rr371q1Nfe+21Wh0BAACaGwEwAACQVb761a/ue8EFF3y6b9++ZxUUFLTWEeCDNDY2bnnrrbfG/+EPf5j4ox/9aLmOAAAAzZkAGAAAyEpDhw4t/sEPfnDy4MGDz27dunV/HQHerbq6+s2XX375weuuu+7ppUuXbtcRAAAAATAAAJDlCgsLU3ffffeQ0aNHn9G1a9fj8vLyinQFmq90Ol1XXl4+bcqUKROuvfbav+sIAADA/yYABgAAEqNPnz4t/v3f/33UyJEjz2rfvv2nIiKlK9AsZDZt2vTXF1544bGvfe1rzzntCwAA8N4EwAAAQCJddNFFXa6++uqTDzzwwLNbtmzZTUcg99TV1a1ZsGDBuJ/+9KdP3n///et0BAAA4IMJgAEAgETr1q1b4d13333k4YcffmqHDh2OyMvLK9QVSK50Ot2wcePGWbNmzZp8/fXXz6qoqGjUFQAAgA9PAAwAAOSMo48+uvWtt956/CGHHHJKu3btBkdEnq5AIqQrKytfmzdv3uQ777xz+owZM6q1BAAA4OMRAAMAADnpuOOOK/vGN75x/CGHHHJa27ZtB4bvBUO2yVRVVc2dN2/epO9///vTpk+fvkVLAAAAPjkBMAAAkPNuu+22vmedddZJffr0Oa5Vq1a9dQT2ntra2uXLly+f/uijjz51xx13vKUjAAAAu5YAGAAAaFa+9KUvdbv44ouP7t+//wlOBsMekamqqpq7cOHCv/z+97+fcd9995VrCQAAwO4jAAYAAJqtSy65pOtll112jDAYdrl0VVXVvIULF/7lV7/61bO/+93v1moJAADAniEABgAAiIirr766x/nnnz9q//33P7JNmzZDUqlUga7Ah5fJZBoqKyv/vnjx4uf+9Kc/zbr33ntX6woAAMCeJwAGAAB4l379+hV97WtfGzRy5MhRPXv2PLaoqKizrsD/VV9fv37VqlXPvPDCC8/9+7//+5zFixfX6woAAMDeJQAGAAB4H61bt8678847Bx599NFHde/efURpaen+4apomq/M1q1bF69Zs+bF5557btY3v/nNOdXV1WltAQAAyB4CYAAAgI9g8ODBrcaOHXvI8OHDD+vevfvw1q1bHxACYXJXprq6+s01a9a88sorr7z8k5/8ZN5rr71Wqy0AAADZSwAMAADwCVx//fX7nHHGGYf169dvePv27Yfm5+e31hWSrLGxsXrjxo2vvvXWWy+PHz/+lR//+McrdQUAACA5BMAAAAC70Je//OUe55xzzvA+ffoM7tix45CioqKuukI2q6+vX7t27doXFy9ePGfixImv3Xvvvat1BQAAILkEwAAAALvRl7/85R6f+cxnBvfr129Qly5dDm/ZsqVAmL2qrq5u7bp16wS+AAAAOUoADAAAsIe0atUq75prrtnn2GOPPXi//fY7uH379oeUlpb2TaVS+brDbpKuqalZtnHjxnlvvfXW3GeffXbef/3Xfy2vra1Naw0AAEBuEgADAADsRQceeGDLq6+++oAhQ4Yc3LNnz4Pbtm17sGuj+biampqqq6qqXi8vL583Z86ceb/85S/nvfjii1t1BgAAoPkQAAMAAGSZoUOHFn/xi1/cf9CgQQf26NHjwHbt2h3YqlWr3qlUKk932CFdU1OzvLKycsHq1asXzJkzZ8Gf//znJTNmzKjWGgAAgOZNAAwAAJAAxx13XNkFF1xw4MEHH3xA165dDywtLd23pKRkn1QqVag7uS2TyTRs27ZtRXV19dJ169YtfOONNxZOmDBh4YQJEzbpDgAAAO8mAAYAAEiw8847r+OJJ57Yp3///vt16dKlT5s2bfZr3bp1v/z8/GLdSZampqaa6urqxZs3b16ybt26pQsXLlzy9NNPL33ooYc26A4AAAAflgAYAAAgx7Rr1y7/kksu6TFkyJCe++67b89OnTr1Kisr61VcXNyzZcuW3VKpVL4u7R2ZTKaprq6uvKamZtWWLVtWVlRUrFy6dOnK2bNnr7r//vvXVFZWNukSAAAAn4QAGAAAoBnp1KlTwec+97luQ4cO7bnPPvv0aNeuXafWrVt3Li4u7tqyZcvORUVFnfLy8lro1MeTTqe319fXr6+rq6uoqalZW11dvb6y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AACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoMY3JP//9K8My551lzpAk293a7QAAAAAAAAD8iIw3r+SL7TpPxuSt4/ibJJuz20QDBgAAAAAAAHhzrJPp6NvHYcyyjLl7dJTPbl/Jp6sPLufSsM+5ec7q5YOrF0OeP/SVaAAAAAAAAIA3weH7u6zfm79dWDIMSw6225w785vsx3XyzasOby5ssz69c4sAAAAAAAAAr9n69C6bC9sT93a7rKdnORin5Otxynzi1JQcfiwCAwAAAAAAALxO69O7HH68TaaT98cp85R8vbp3Nfszv8q0LHn7xMF1sjk/ZzUPmZ/MmWefhAYAAAAAAAD4oayPdjn7223Gn7x6ZrXPnetX8mBKkpv3cufDd/Pufn5FL56SzcVtNheT3dNt8tQlAwAAAAAAAHyv1sm0ySv/9XtsNWZ3I/lHkgzHi7/4XY7WYz5yiwAAAAAAAAA/Ivtcv/3nPEyS1fHa42t5+vNLyX7JoRsCAAAAAAAAePPt1/nbV3/KvePn1Xc371/NYxEYAAAAAAAA4M0yTHk2rvNo2WdzvHZqzN9v/SF3vju3evng/at5fPDLPDu1yuGyZHSVAAAAAAAAAK/XOGe4ueSvZ4e8M8xZbVe5ceuPufvy3Oqkw4+v5emDX+fuuTlLhhwsEYIBAAAAAAAAXpclGR8OuXP0TR4cPM/9z/+SRyfNDf/1TZezOp/87KdjzizJZkhO7edMy/w/nAUAAAAAAADg/zaMWcZkP8/ZLsmLacr2/MV8+cnvs/tP5/4FmLjAq1ifcioAAAAASUVORK5CYII=";
|
|
3722
|
+
})(ne || (ne = {}));
|
|
3723
|
+
const oe = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAB3CAYAAAD1oOVhAAAGAUlEQVR4Xu2dT0xcRRzHf7tAYSsc0EBSIq2xEg8mtTGebVzEqOVIolz0siRE4gGTStqKwdpWsXoyGhMuyAVJOHBgqyvLNgonDkabeCBYW/8kTUr0wsJC+Wfm0bfuvn37Znbem9mR9303mJnf/Pb7ed95M7PDI5JIJPYJV5EC7e3t1N/fT62trdqViQCIu+bVgpIHEo/Hqbe3V/sdYVKHyWSSZmZm8ilVA0oeyNjYmEnaVC2Xvr6+qg5fAOJAz4DU1dURGzFSqZRVqtMpAFIGyMjICC0vL9PExIRWKADiAYTNshYWFrRCARAOEFZcCKWtrY0GBgaUTYkBRACIE4rKZwqACALR5RQAqQCIDqcASIVAVDsFQCSAqHQKgEgCUeUUAPEBRIVTAMQnEBvK5OQkbW9vk991CoAEAMQJxc86BUACAhKUUwAkQCBBOAVAAgbi1ykAogCIH6cAiCIgsk4BEIVAZJwCIIqBVLqiBxANQFgXS0tLND4+zl08AogmIG5OSSQS1gGKwgtANAIRcQqAaAbCe6YASBWA2E6xDyeyDUl7+AKQMkDYYevm5mZHabA/Li4uUiaTsYLau8QA4gLE/hU7wajyYtv1hReDAiAOxQcHBymbzark4BkbQKom/X8dp9Npmpqasn4BIAYAYSnYp+4BBEAMUcCwNOCQsAKZnp62NtQOw8WmwT09PUo+ijaHsOMx7GppaaH6+nolH0Z10K2tLVpdXbW6UfV3mNqBdHd3U1NTk2rtlMRfW1uj2dlZAFGirkRQAJEQTWUTAFGprkRsAJEQTWUTAFGprkRsAJEQTWUTAFGprkRsAJEQTWUTAFGprkRsAJEQTWUTAFGprkRsAJEQTWUTAGHqrm8caPzQ0WC1logbeiC7X3xJm0PvUmRzh45cuki1588FAmVn9BO6P3yF9utrqGH0MtW82S8UN9RA9v/4k7InjhcJFTs/TLVXLwmJV67S7vD7tHF5pKi46fYdosdOcOOGG8j1OcqefbFEJD9Q3GCwDhqT31HklS4A8VRgfYM2Op6k3bt/BQJl58J7lPvwg5JYNccepaMry0LPqFA7hCm39+NNyp2J0172b19QysGINj5CsRtpij57musOViH0QPJQXn6J9u7dlYJSFkbrMYolrwvDAJAC+WWdEpQz7FTgECeUCpzi6YxvvqXoM6eEhqnCSgDikEzUKUE7Aw7xuHctKB5OYU3dZlNR9syQdAaAcAYTC0pXF+39c09o2Ik+3EqxVKqiB7hbYAxZkk4pbBaEM+AQofv+wTrFwylBOQNABIGwavdfe4O2pg5elO+86l99nY58/VUF0byrYsjiSFluNlXYrOHcBar7+EogUADEQ0YRGHbzoKAASBkg2+9cpM1rV0tK2QOcXW7bLEFAARAXIF4w2DrDWoeUWaf4hQIgDiA8GPZ2iNfi0Q8UACkAIgrDbrJ385eDxaPLLrEsFAB5oG6lMPJQPLZZZKAACBGVhcG2Q+bmuLu2nk55e4jqPv1IeEoceiBeX7s2zCa5MAqdstl91vfXwaEGsv/rb5TtOFk6tWXOuJGh6KmnhO9sayrMninPx103JBtXblHkice58cINZP4Hyr5wpkgkdiChEmc4FWazLzenNKa/p0jncwDiqcD6BuWePk07t1asatZGoYQzSqA4nFJ7soNiP/+EUyfc25GI2GG53dHPrKo1g/1Cw4pIXLrzO+1c+/wg7tBbFDle/EbQcjFCPWQJCau5EoBoFpzXHYDwFNJcDiCaBed1ByA8hTSXA4hmwXndAQhPIc3lAKJZcF53AMJTSHM5gGgWnNcdgPAU0lwOIJoF53UHIDyFNJcfSiCdnZ0Ui8U0SxlMd7lcjubn561gh+Y1scFIU/0o/3sgeLO12E2k7UXKYumgFoAYdg8ACIAYpoBh6cAhAGKYAoalA4cAiGEKGJYOHAIghilgWDpwCIAYpoBh6cAhAGKYAoalA4cAiGEKGJYOHAIghilgWDpwCIAYpoBh6ZQ4JB6PKzviYthnNy4d9h+1M5mMlVckkUjsG5dhiBMCEMPg/wuOfrZZ/RSywQAAAABJRU5ErkJggg==", Ur = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAVnCAYAAACzfHDVAAAAYHpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjaVcjJDYAwDEXBu6ughBfH+YnLQSwSHVA+Yrkwx7HtPHabHuEWrQ+lBBAZ6TMweBWoCwUH8quZH6VWFXVT696zxp12ARkVFEqn8wB8AAAACXBIWXMAAC4jAAAuIwF4pT92AADZLklEQVR42uzdd5hV9Z0/8M+dmcsUZmDovYOhKCiKYhR7JJuoSTCWGFI0WUxijBoTTXazVlyza4maYm9rTRSJigVsqCDNQhHBAogKCEgRMjMMU+7vj93sL8kqClLmnPt6PY+PeXZM9vP9vO8jZ+Y955xMfJLjorBrRMuSgmiViyjN1Ee2oSCyucbIBAAAAAAAAADbXaYgcoWNUZcrirpMbdRsysa69wbF+rggGrf439vSF7seF12aFUTnxvoosGIAAAAAAACAXacgoqEgF++/VRgr4r5o+Kh/pvD//F8uiII+LaPrum/EXzqui2b1ddHGKgEAAAAAAAB2rVxEQWMmWrQtjHZlA6N2w2tR84//zP8pgHu3ib6NBdG+zdqorK6KVUXZaB85j3sGAAAAAAAAaAoaG6OwIBdtyneP2PBabPzbr/1dAdx3VHRtyESHiIhcYzQrLo7WmVzkcjmPgAYAAAAAAABoSgpy0eIfS+D/LYD7fy3abC6Inn/7X2hsjELlLwAAAAAAAEDT9D8lcM1fHwddFBFxyAVR9M686PVp/gfqayKiJiLqLBMAAAAAAABgh8hGRGlEUekn/6PFEb3ikNgQk6O+KCJi6dzoksv83/cB/1X9xoiaJdmoWxlRV1dk2QAAAAAAAAA7QTZbH9muERX96v7n9t7/q6Exinq3i86LI94pjOOisHUu+uYykfmof7h+Y8Sa6aVRt74gGhs9DRoAAAAAAABgZ2lsLIi69QWxeUUmSjs0/vedwR8hk4uydSfE+wVd6qOyMfMx7/mtj9jwUtbjngEAAAAAAAB2obrqolg7IxtR/9Ffb4wo7P5GtCwobRaVH/c/UvNmNuqqPfIZAAAAAAAAYFerqy6KmjezH/v1ktpoVZBr/PgCeMN7yl8AAAAAAACApmJLHW5jUVQWNDSP+Q3ZeLco4i9/+8X6teHRzwAAAAAAAABNSd3/dLn/oLAoqqIuVhXFxhhSGB/xqGjlLwAAAAAAAECTU1eTjaK/KXSLIv7SWB+bc5ko9YxnAAAAAAAAgATJFv393bz1EeV//c8F1gMAAAAAAACQDgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKREkRUAAACwrUpLSwuGDRvWfMCAAS26du3avKysrLiioqKkZcuWzZs1a1bcvHnz0tLS0rJsNtusuLi4ebNmzUoLCgo+8/eijY2N9Zs3b66pra2tqqur21xTU1NdVVVVs2nTptqNGzdWbdiwoeYvf/nL5hUrVlQtWLBgw6xZs6pqamoaJQYAAEDaKYABAACIiIghQ4aUHnTQQW379u3bql27dq3at2/fpkWLFq2bN29eWVpa2qpZs2bNCwsLm2ez2fLCwsLyoqKi8sLCwtKknK+hoaG6vr6+qqGh4S91dXV/aWhoqNq8eXNVTU3NuqqqqvUbNmxYu2rVqjWrV69e99Zbb6177rnnPpgzZ06NTwYAAABJogAGAADIA8OGDWt+xBFHdBwwYECnLl26dGjdunXHFi1adCgtLe1YUlLSvlmzZq0KCgqK07yDwsLCssLCwrKIaPdp/zuNjY21mzdvXrdp06ZVNTU172/YsGHl2rVr31+2bNnKBQsWrHjyySffnzVrVpVPGAAAAE1Fpuexsd9HfaF+ZcSal0ptCAAAIAE6deqUPf744zvtueeeXbp3796lbdu2XSorKzuXlpZ2KS0t7VBYWFhhSztGQ0PDxpqampU1NTXL169fv+yDDz5Y9s477yybPXv2sj/96U8rVqxYUWdLAAAAbE9t9q6Jog4f/TUFMAAAQEJks9nMt7/97Y4jRozo1bdv397t2rXrXl5e3rWsrKxzcXFx+4gosKUmp7G2tnZVTU3Nso0bNy5btWrV0tdff/2tJ598cvG999672noAAADYFgpgAACAhPne977X6a9Fb/v27Xu1bNmyV1lZWa8kvXOXLauvr9/wl7/8ZdG6desWL1u2bNHChQsX/fGPf1w8derUjbYDAADAliiAAQAAmqhsNps59dRTuxx66KH9+/Tp87n27dv3Ly8v719UVOSRzXlq06ZNKzZu3Pj6+++//8abb775xqOPPvrG3XffvcpmAAAA+CsFMAAAQBNx6qmndvniF784qHfv3v3btWv3uYqKis8VFhaW2wxbUl9fv37Dhg1vfPDBB68vXrz4jccee2z+jTfeuNxmAAAA8pMCGAAAYBc45phjWn/rW9/aq3///kPatGnTv6Kiop9HOLO9NDQ0VG/cuPGtNWvWLFy4cOGcO+6445WHHnporc0AAACknwIYAABgJzjjjDO6f+lLX9qrV69eg1u3bj2orKysR0RkbIadJFddXb103bp18xcvXjz30UcffeXqq69+x1oAAADSRwEMAACwnZWWlhb86le/2u3QQw8d1r17931btmw5qLCwsMxmaEoaGhqqP/zww/nvvPPOzGeeeWbW2LFj36ipqWm0GQAAgGRTAAMAAGwHP/7xj7t+9atf3bdXr15D27Ztu1c2m21jKyRJXV3dmg8++OCVRYsWvfznP/95xh/+8IdltgIAAJA8CmAAAIBtcOKJJ7Y75ZRTDujXr9+w1q1bD81ms61shTSpq6tbt3bt2pfffPPNWbfccsvUe++9d7WtAAAANH0KYAAAgE+hoqKi4IILLhg0YsSI/bp27bpfy5YtB2YymUKbIR/kcrmGDz/8cP6777474/nnn59x4YUXvrZx40aPiwYAAGiCFMAAAAAf4/jjj2/7/e9//8D+/fsf2Lp1630KCgpKbAUiGhsbN61fv37eW2+9NeWGG2545u67715lKwAAAE2DAhgAAOB/ZLPZzAUXXPC5I4888sDu3bsfWFFRsVtEFNgMbFl1dfWSd999d8qsWbNmnnvuuS+vW7euwVYAAAB2DQUwAACQ10pLSwsuvfTSQYcccsjBXbt2HVFWVtbDVmDb1dbWrnr//fdfmDp16uRf/vKXL65evbreVgAAAHYeBTAAAJB3Bg0aVHrBBRd8fs899zywQ4cOBxQVFbWwFdj+Ghsba9euXTtrzpw5T59//vmTX3755WpbAQAA2LEUwAAAQF4YNmxY8/POO+/gIUOGHOZ9vrDz/W0ZfNFFFz07a9asKlsBAADY/hTAAABAarVq1arwyiuv3HfEiBEjO3TocFBhYWGZrcCu19DQUP3+++8/O2XKlIk/+clPZm7cuLHRVgAAALYPBTAAAJAqrVq1Kvztb3+7/3777Xd4x44dRxQWFpbbCjRdDQ0NG99///0pM2bMeOqHP/zhC8pgAACAz0YBDAAApMJZZ53V45vf/OaRvXr1GllaWtrVRiB5ampq3l28ePHEO++8c9LVV1/9jo0AAABsPQUwAACQWMOHDy+/6KKLvjB48OCjW7RoMdBGID0+/PDDV+fNmzfhvPPOe3L69Ol/sREAAIBPRwEMAAAkSqtWrQpvuOGGQ/bbb79/atOmzX6ZTCZrK5BeuVyubs2aNTNmzJjx2JgxYyavW7euwVYAAAA+ngIYAABIhB//+Mddv/e9732lZ8+e/1RcXNzWRiD/1NbWfvD2228/dssttzz029/+9l0bAQAA+L8UwAAAQJNVUVFRcO21137+4IMPPrZ169b7ZTKZAlsBIqJxzZo1M59//vnxp5122hR3BQMAAPx/CmAAAKDJOeWUUzqefvrpx/bu3ftL2Wy2jY0AH6e+vn7j0qVLH/vd7373x+uvv36ZjQAAAPlOAQwAADQJ2Ww2c+uttx5wyCGHnNC6deu9I8LdvsDWaFy7du1L06ZN+/OPfvSjZ1evXl1vJQAAQD5SAAMAALtU//79S6655pp/2nPPPY8tLy/vayPAZ1VTU7NswYIF488999wHp06dutFGAACAfKIABgAAdomf//znPU855ZQTu3btemRhYWGZjQDbW2NjY92KFSuevOWWW+689NJLF9kIAACQDxTAAADATuMxz8Cusn79+rlPP/30f5188slT6+rqcjYCAACklQIYAADY4fr27Vv8hz/84a+Pee5nI8CuUlNT8+68efPu/8EPfvDgwoULN9kIAACQNgpgAABghxkyZEjpNddc89XBgwefWFxc3MFGgKaitrZ21dy5c+/5yU9+8uc5c+bU2AgAAJAWWyqAPYoNAADYJqNHj+4wb968n06ZMuXRYcOGnaH8BZqa4uLi9sOGDTtjypQpj86bN++nJ510UntbAQAA0s4dwAAAwFY599xze33/+9//dufOnY/IZDJZGwGSIpfL1S1fvvzJG2644fbLLrvsbRsBAACSyiOgAQCAz+y8887r+53vfOfbHTt2PDyTyRTaCJBUuVyuYcWKFU/cdNNN//XrX/96sY0AAABJowAGAAC22WWXXTboG9/4xg9at249zDaAtFm7du2su++++9pzzjnnNdsAAACSQgEMAABsNcUvkE8UwQAAQJIogAEAgE9N8Qvks7Vr18665557rvv5z38+3zYAAICmaksFcGHlwOj6UV9orIqoWZG1PQAAyBO/+MUvet9xxx3nHHrooT8pLS3tYiNAPiotLe2y7777HvP973+/X1lZ2ZIpU6assxUAAKCpKetcHwXlH/01BTAAAOS5M844o/u99957zpe//OWflZeX94qIjK0AeS5TXl7e8+CDDx71/e9/v3dEvDVjxowPrQUAAGgqFMAAAMD/ceKJJ7a77777fjJq1Kh/KS8v7xOKX4B/lCkvL+99+OGHj/rWt77VfvXq1Qvnz59fbS0AAMCutqUC2DuAAQAgzwwdOrTs+uuvP6l///4nFRYWltkI20NjY2Ns2rQpqquro6amJurr62PTpk2xefPmqK+vj+rq6qivr4/NmzfHpk2boqGhYZv/fxUWFkZJSUk0a9YsioqKoqysLIqKiqJZs2ZRUlISRUVFUVpa+r9/FRQUCIjtoqGhoeq11167a8yYMffMmTOnxkYAAIBdZUvvAFYAAwBAnujUqVP2nnvuGbXXXnudnM1mK22Ej9PQ0BAbN26MDRs2/J+/Nm7cGBs3boyamprYtGlTbNq0KWpqaqK2trbJnqe4uDhKSkqitLT0f/9eUVERFRUV0aJFi//zV0VFRRQWFvog8LHq6urWvvjii7eceOKJf169enW9jQAAADubAhgAAPLcXXfdddAXv/jF00tLS7vZRn7L5XKxYcOGWLt2baxbty7Wrl37d3+tW7cuNmzYkPd7atGiRbRu3TpatWoVrVu3jjZt2vzvf27dunW0aNHCh4morq5e+sgjj1zzne98Z6ptAAAAO5MCGAAA8tTVV189+MQTTzyzoqJioG3kj8bGxli5cmUsX748Pvjgg1i9evX//n3t2rXR2NhoSZ9RYWFhtGrVKtq1axdt27b937937tw5OnTo4LHTeWbDhg3z77333qvOPPPMebYBAADsDApgAADIM1/72tfaXHrppad27979qIjQRKVUQ0NDrFq1KlasWBHvv//+//595cqVTfqRzGlXXFwcHTp0iI4dO0bnzp2jY8eO0alTp2jXrp1HS6dYLpdrfOeddx76+c9/fv2ECRPW2QgAALAjKYABACBP9OrVq9ldd931jT322OM7hYWFZTaSHh9++GG88847sXTp0njvvfdixYoVsXr16mhoaLCchCgsLIz27dtHp06dolu3btG9e/fo3r27x0mnTENDQ9W8efNu++Y3v/nHJUuWbLYRAABgR1AAAwBAHrjrrrtG/NM//dOZJSUlXWwj2davXx9Lly6Nd955539L3w8//NBiUqqysvJ/y+C//tWqVSuLSbiamppljz322G9Gjx49xTYAAIDtTQEMAAAp9qtf/arPD3/4w5+1atVqL9tIno0bN8aSJUvirbfeikWLFsV7770XmzZtspg8V1JSEl27do0+ffpE3759o3fv3lFeXm4xCbRu3bqXr7322ivGjh27yDYAAIDtRQEMAAApNGjQoNI77rjju7vttttJBQUFWRtJhtWrV8ebb74ZixcvjiVLlsTy5cujsbHRYtiigoKC6Ny5c/Tu3Tt69+4d/fr1i7Zt21pMQjQ2Nta98cYbd33rW9+6ff78+TU2AgAAfFYKYAAASJHS0tKCBx988Jj99tvvn7PZbBsbaboaGhri7bffjrfeeisWLFgQS5YscXcv201FRUX06tUr+vbtG3379o2ePXtGYWGhxTRhdXV1a2bMmHHjV77ylYdqamr85gcAALDNFMAAAJASp59+erdf/vKX51ZWVu5jG03T6tWr47XXXouFCxfGm2++GRs3brQUdooWLVpE3759Y8CAATFw4EB3CDdh69evf/E//uM//vPqq69+xzYAAIBtoQAGAICEGzRoUOm99977w969ex+byWTc4teErF+/PubNmxcLFiyIN954Q+FLk9GiRYvo169fDBgwIPbYY4+orKy0lCYkl8s1LF68eNyJJ554rcdCAwAAW0sBDAAACXbNNdcMOemkk35RVlbWyzZ2vVwuF++++27MnTs3XnvttViyZIl3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B7lcrm7y5Mm//vKXv/yIbQAAwK63pXcAK4ABAMg7paWlBTNnzjyzT58+x9vG39uwYUOMGzcuZsyY4VHPQF7KZDKx3377xde//vWoqKiwkH+waNGiP+27775X1dTUeCwEAADsQgpgAAD4H926dctOnjz5V506dRppG/9fLpeLqVOnxp///OfYuHGjhQB5r6KiIkaNGhX777+/x0L/g+XLlz9+6KGHXvLuu+/W2QYAAOwaWyqAvQMYAIC8MXz48PInnnjiynbt2o2wjf/vnXfeiWuvvTaee+652Lx5s4UARMTmzZtjzpw58dprr0XPnj2jRYsWlvI/Kioq+n7rW98aMnXq1Ofee+89f3AAAMAusKV3ACuAAQDIC9/+9rc73n777X9o0aLFANv4b1VVVXHXXXfFvffeG+vXr7cQgI+wbt26eP7552P9+vWx2267RVFRkaVERElJSefjjjvuoA8++GDKK6+88hcbAQCAnUsBDABAXjv//PP7XXzxxX8oKSnpbBv/bfr06XHttdfGokWLLAPgU3jnnXdi2rRp0bp16+jc2R8nERHZbLbyC1/4whElJSUvTp48eY2NAADAzqMABgAgb/3ud7/b60c/+tFVRUVFrWwjYs2aNXHzzTfHpEmTora21kIAtkJtbW289NJL8c4770Tfvn2jtLQ073dSWFhYNnz48C/26dNn4UMPPbTMpwQAAHYOBTAAAHnp1ltv3f+b3/zmfxYWFjbP913kcrl4/vnn4/rrr4/ly5f7cAB8BitXroxp06ZFRUVFdOvWLTKZTF7vo6CgIDto0KBDBw0atOiBBx54xycEAAB2vC0VwJmex8Z+H/WF+pURa17ym6wAACTTww8//KXDDjvsXzKZTN6/rPGDDz6I22+/Pd544w0fDIDtbMCAAfGtb30r2rRpk/e7yOVyjVOmTPn1yJEjH/LJAACAHavN3jVR1OGjv6YABgAgdV555ZXTPve5z30r3/fQ0NAQjz32WDz++ONRV1fngwGwg2Sz2Tj66KPjC1/4QhQUFOT9Pl5//fU79tprr9/7ZAAAwI6jAAYAIC9ks9nMyy+/fFafPn2Oz/ddvPvuu3HbbbfFe++954MBsJN069YtvvOd70S3bt3yfhdLliy5f5999rmypqam0ScDAAC2PwUwAACpV1paWjBr1qyzevfufVw+7yGXy8WTTz4ZDz74oLt+AXaBbDYbxxxzTBxxxBF5fzfw0qVLHxg6dOjlSmAAANj+FMAAAKRar169mk2ePHlsu3btDsrnPaxcuTJuueWWePvtt30oAHaxnj17ximnnBIdOnTI6z2sXr16yiGHHPIvS5Ys2exTAQAA28+WCuDCyoHR9aO+0FgVUbMia3sAADRpQ4cOLXvqqacub9Omzf75uoNcLhfPPPNMXH/99bF27VofCoAmYP369TFlypQoKSmJnj17RiaTycs9NG/evPtJJ500ZPLkyc+sWLHCoykAAGA7KetcHwXlH/01BTAAAIk1ZMiQ0kceeeSKVq1a7Z2vO6iuro7bb789nnjiiWhs9IRNgKaksbEx5s+fH++//34MGDAgstn8/DlLaWlpp6997WuDn3rqqadXrlxZ75MBAACfnQIYAIDUOfTQQ1s8+OCDv2/ZsuUe+bqDOXPmxNVXX+2RzwBN3PLly+OFF16Ijh075u0joUtLSzudcMIJ+7/00ktPv/3227U+FQAA8NkogAEASJVhw4Y1v++++37TsmXLQfl4/vr6+hg/fnz88Y9/jNpaP0MHSILNmzfHiy++GJs3b47ddtstCgoK8m4HxcXFbY866qg9n3vuuaeXL1/ucdAAAPAZKIABAEiNI488snLcuHG/b9GixcB8PP97770XV111VcyZM8eHASCBFi1aFC+//HL069cvWrRokXfnLykp6XDcccftP2fOnGcWLVq0yScCAAC2jQIYAIBUOPLIIyvvvPPO35aXl++Wj+d/+umn48Ybb4wPP/zQhwEgwf7yl7/ECy+8ECUlJdGrV6+8O3+zZs3aHHXUUfspgQEAYNspgAEASLxjjz227W233faH5s2b98m3s1dVVcXNN98cTz31VDQ2NvowAKRAY2NjzJ8/P5YtWxYDBgyIZs2a5dX5mzVr1uaYY4458M0333xm4cKFNT4RAACwdRTAAAAk2qGHHtritttuuzofy9+33347rrnmmli8eLEPAkAKvf/++/HKK69Enz59orKyMq/Ons1mK4888sh9Zs6c+dTSpUs3+zQAAMCnpwAGACCxjjjiiJb33nvvteXl5f3y6dy5XC4mTZoUN998c1RVVfkgAKRYVVVVTJ06NbLZbPTp0ycymUzenL24uLjtV7/61c+/8sorTy1evLjWpwEAAD4dBTAAAIl06KGHtrj33nt/l2/lb3V1ddx0000xefLkyOVyPggAeSCXy8WCBQvi3Xffjd133z2y2fz5mUyzZs1aH3300fvNmDHjSXcCAwDAp6MABgAgcYYOHVo2fvz4qysqKgbk07mXLVsWV111lUc+A+SplStXxiuvvBKf+9znoqKiIm/O3axZszZHH3300GeeeebJFStW1PkkAADAlimAAQBIlCFDhpQ++uij17Rs2XL3fDr31KlT49prr42NGzf6EADksaqqqpg+fXq0bds2unTpkjfnLikpaT9q1KihTz755JMrV66s90kAAICPt6UCuMB6AABoSjp16pSdMGHCv1dWVu6RL2dubGyMcePGxR133BF1dW56AiCitrY2br755hg/fnw0NjbmzbkrKyv3mDBhwr9369bNXQkAALCNFMAAADQZrVq1Kpw+ffolbdq02T9fzlxdXR2/+93vYtKkSd73C8DfyeVy8fjjj8fvf//7qK6uzptzt2nTZv8pU6Zc0qpVq0KfAgAA2HoKYAAAmoSKioqC2bNnX9KuXbuD8uXMS5cujYsuuijmz5/vAwDAx3r11VfjoosuiqVLl+bNmdu1a3fQ7Nmz/72iosLPrgAAYCu5iAYAoEmYOXPmz9q1a3dIvpz35ZdfjiuuuCLWrVsnfAA+0bp16+KKK66Il19+OW/O3K5du4Nnzpz5M+kDAMDWUQADALDLvfjii2N69OgxKh/Omsvl4oEHHogbbrghamtrhQ/Ap1ZbWxs33HBDPPDAA3nz2oAePXqMevHFF8dIHwAAPj0FMAAAu9SkSZO+NnDgwFPy4ax1dXVx8803x8SJE73vF4BtksvlYuLEiXHLLbdEXV1dXpx54MCBJ0+aNOlr0gcAgE9HAQwAwC7z6KOPHnXggQeekw9nXbduXfz617+OWbNmCR6Az2zmzJnx61//Ol9eJZA58MADz3n00UePkjwAAHyywsqB0fWjvtBYFVGzImtDAADsEDfeeOO+Rx999EWZTKYw7Wddvnx5XHXVVbFy5UrBA7DdbNiwIWbPnh0DBw6MioqKtB8307179/179uz56sMPP7xc+gAA5LuyzvVRUP7RX1MAAwCw011xxRV7fPe7372qoKCgWdrPOmfOnPjtb38bGzduFDwA2111dXVMmzYtOnfuHB07dkz1WTOZTOHuu+9+eJs2bV6aNGnSKukDAJDPFMAAADQZZ5xxRvef/exnvy0sLCxP+1knTJgQd999d9TX1wsegB2moaEhXnrppchms9G3b99UnzWTyRTttddeB/3lL395dubMmRukDwBAvlIAAwDQJBx00EEVf/jDH64pLi7ulOZz5nK5eOCBB+Kxxx4TOgA77c+eBQsWRF1dXfTv3z8ymUxqz1pQUFBywAEHDJs+ffqkpUuXbpY+AAD5aEsFcIH1AACwMwwaNKj0vvvuu7qsrKxXms9ZV1cX1113XUyaNEnoAOx0EydOjOuvvz7q6upSfc6ysrJef/rTn67u379/idQBAODvKYABANjhKioqCh577LGLKyoqBqb5nNXV1XHNNdfE7NmzhQ7ALvPKK6/ElVdeGVVVVak+Z4sWLQZOnDhxbEVFhZ9vAQDA33CBDADADjdz5syftW3b9sA0n3HdunVx2WWXxRtvvCFwAHa5xYsXx2WXXRZr165N9TnbtWt34MyZM38mcQAA+P8UwAAA7FBPPvnkqB49eoxK8xlXrVoVV1xxRSxfvlzgADQZK1asiCuuuCJWrlyZ6nP26NFj1KRJk0ZJHAAA/lth5cDo+lFfaKyKqFmRtSEAALbZjTfeuO+XvvSlCzOZTGp/8fDdd9+NK6+8MtatWydwAJqc6urqmDVrVvTv3z8qKytTe85u3boN79mz57yHH37Yb2MBAJAXyjrXR0H5R39NAQwAwA5x3nnn9T311FOvLigoKE7rGV977bW45pprorq6WuAANFmbN2+OGTNmRI8ePaJ9+/apPGMmkykYNGjQIYWFhVOee+45v5UFAEDqKYABANipjjrqqFb/8R//8YdmzZq1SusZX3755bj++uujrq5O4AA0eQ0NDfHSSy9Fp06dolOnTqk8Y0FBQXbYsGGfnz9//qQ33nhjk9QBAEizLRXA3gEMAMB21a1bt+wNN9zwnyUlJR3TesYpU6bEjTfeGPX19QIHIDHq6+vjxhtvjKlTp6b2jCUlJZ1uuOGG/+jWrZu7GgAAyFsKYAAAtqunn376XyorK/dI6/kmTZoUd955ZzQ2NgobgMRpbGyMO+64I5588snUnrGysnLw008//UtpAwCQrxTAAABsN88///w3unTp8k9pPd/EiRNj3LhxkcvlhA1AYuVyubj//vtTXQJ36dLlS88+++yJ0gYAIB95BzAAANvFTTfdNPzII488L5PJZNJ4vsceeyzGjx8vaABS47XXXotmzZpF3759U3m+zp0779urV695Dz/88DJpAwCQNlt6B7ACGACAz+wXv/hF7x/+8IdXFxQUNEvj+R544IF45JFHBA1A6ixYsCDq6upiwIABqTtbJpPJDBo06ODGxsbnpk6dul7aAACkiQIYAIAd5oADDqj43e9+99tmzZq1TeP5xo0bF5MmTRI0AKm1aNGi2Lx5cwwcODB1ZysoKMjut99+w5577rnH33vvvc3SBgAgLbZUAHsHMAAA2yybzWbuvPPOfyktLe2exvNNmDBB+QtAXpg0aVI89NBDqTxbaWlpj3vuuedfstlsRtIAAOQDBTAAANvs+eef/06HDh0OTePZHn744Xj44YeFDEDeeOSRR+LPf/5zKs/WoUOHw5599tlvSxkAgHygAAYAYJvcd999hw8ePPjUNJ7t/vvvjwkTJggZgLzz2GOPxX333ZfKs+25554/+NOf/nSYlAEASDvvAAYAYKudccYZ3ceMGXN5QUFBcdrONnHixHjkkUeEDEDeWrx4cWSz2ejbt2/ajpbp06fPvn/5y18mz5w5c4OkAQBIsi29A1gBDADAVhk2bFjzG2+88Q/NmjVrl7azPfroo6l99CUAbI2FCxdGUVFR9OvXL1XnKigoKD7wwAP3e/LJJx9dsWJFnaQBAEiqLRXAHgENAMBWuffee39ZWlraPW3nevzxx+PBBx8UMAD8jz//+c8xceLE1J2rtLS0x3333fdLCQMAkFYKYAAAPrVJkyaN6tSp0xEpPFeMHz9ewADwD8aPHx+TJ09O3bk6der0hUmTJn1VwgAApJFHQAMA8Kmcd955fU888cR/z2QyRWk618yZM+Puu+8WMAB8jNdeey06duwYnTt3TtW5unbtuk9BQcHzzz333DopAwCQNN4BDADAZ3LEEUe0vOKKK67NZrOVaTrXyy+/HDfffHPkcjkhA8DHyOVyMXv27OjSpUt06tQpNefKZDJF++yzz/CpU6c+9u67726WNAAASeIdwAAAbLNsNpu55ZZb/q2kpKRjms61YMGCuPnmm6OxsVHIAPAJGhsb4+abb44333wzVecqLS3tcvfdd5+fzWYzUgYAIC0UwAAAbNGkSZO+3rZt2wPTdKZly5bFDTfcEPX19QIGgE+prq4urr322li+fHmqztWuXbsDH3/88VESBgAgLTwCGgCAj3XZZZcN+upXvzo2k8mk5hcH33///bjyyiujqqpKwACwlerq6uLll1+OIUOGRHl5eWrO1aVLl31LS0unPvPMM2ukDABAEngENAAAW61///4lJ5988q8ymUxRWs60YcOG+P3vfx8bN24UMABso40bN8bvfve7VP15WlBQkP3hD394ft++fYslDABA4q9vrQAAgI/y4IMPnl1WVtYrLeeprq6O3/zmN7Fq1SrhAsBntGrVqrjyyiujuro6NWcqKyvr8/DDD58lXQAAkk4BDADA/zF+/Pgju3XrdnRazlNfX5/KdxYCwK60fPnyuO6666K+vj41Z+rRo8dXx40bd4R0AQBIMgUwAAB/53vf+16nI4444py0nCeXy8Vtt90Wb7zxhnABYDt7/fXX47bbbotcLpeaMx155JHnfvvb3+4oXQAAkkoBDADA/6qoqCi4+OKLLywsLCxPy5nGjx8fs2bNEi4A7CCzZs2Khx56KDXnKSwsrPj1r399QUVFhZ+bAQCQSC5kAQD4XxMnThxdWVk5OC3nef7552PixImCBYAd7LHHHosXXnghNeeprKzc89FHHz1RsgAAJFFh5cDo+lFfaKyKqFmRtSEAgDxxwQUX7DZq1KgLM5lMYRrO8+qrr8Ytt9ySqkdSAkBT/7O3d+/e0a5du1Scp2PHjkNzudxzU6ZMWSddAACamrLO9VHwMc/wcwcwAADRt2/f4h//+McXZzKZVPwG4HvvvRc33HBDNDY2ChcAdpKGhoa47rrrYtmyZak4T0FBQfbss88e27dv32LpAgCQqGtZKwAAYPz48T8qKyvrkYazbNiwIX7/+99HbW2tYAFgJ9u0aVP8/ve/j40bN6biPGVlZb3GjRs3RrIAACSJAhgAIM/ddNNNw/v06XN8Gs5SX18f1157baxdu1awALCLrFmzJq699tqor69PxXn69ev3jd///vdDJQsAQFIogAEA8thBBx1Uceyxx/5rRGTScJ477rgjFi9eLFgA2MUWLVoUd955Z1qOU/CNb3zj34YNG9ZcsgAAJOIC1goAAPLXzTfffFZxcXG7NJxl4sSJMX36dKECQBMxbdq0mDRpUirOUlJS0unOO+88Q6oAACSBAhgAIE/913/914FdunT5UhrO8tprr8Wf//xnoQJAEzN+/PhYsGBBKs7SrVu3o2+66abhUgUAoKlTAAMA5KEvfelLlV/5yld+lYazrFixIq6//vpobGwULAA0MY2NjXHdddfFihUr0nCczHHHHfergw46qEKyAAA0ZQpgAIA8dPXVV5+ezWYrk36OmpqauPbaa2PTpk1CBYAmatOmTXHttddGTU1N4s+SzWbb3njjjT+RKgAATZkCGAAgz9x6663Du3Tp8uWknyOXy8Utt9wSK1euFCoANHErV66MW2+9NXK5XOLP4lHQAAA0dQpgAIA8MnTo0LKvfvWrv0jDWSZMmBBz584VKgAkxJw5c+Kxxx5LxVlGjRr1i6FDh5ZJFQCApkgBDACQR+64444fFRcXd0z6OV5++eV45JFHBAoACfPQQw+l4he4SkpKOt5xxx0/lCgAAE2RAhgAIE9cfvnlu/fs2XNU0s/xwQcfxB133JGKR0gCQL7J5XJx2223xZo1axJ/lp49ex57+eWX7y5VAACaGgUwAEAe6NatW/a73/3uv2YymURf/9XX18cNN9wQ1dXVQgWAhKqqqoobb7wx6uvrE32OTCZT8N3vfvdX3bp1y0oVAICmRAEMAJAHxo8ff0pZWVmvpJ/jnnvuiaVLlwoUABJuyZIlcd999yX+HGVlZT3Hjx9/ikQBAGhKFMAAACn385//vOeAAQNGJ/0c06dPjylTpggUAFJi8uTJMWPGjMSfY8CAAaN//vOf95QoAABNhQIYACDFstls5qyzzjo3k8kk+tGEK1asiLvvvlugAJAyd911V6xYsSLRZ8hkMtmzzjrr3Gw2m5EoAABNgQIYACDFxo0b98XKysq9knyG2trauOGGG6K2tlagAJAyf/1zfvPmzYk+R2Vl5V7jxo0bKVEAAJoCBTAAQEoNHz68/OCDDz4t6ee4//77Y/ny5QIFgJRavnx5jBs3LvHnGDFixI+HDRvWXKIAAOxqCmAAgJS69dZbT8tms22TfIYZM2bEc889J0wASLnJkyfHzJkzE32G4uLitrfffvtp0gQAYFdTAAMApNBVV121R48ePb6S5DOsXLky7rrrLmECQJ64++6744MPPkj0GXr27PnVK664Yg9pAgCwKymAAQBSprS0tOAb3/jGT5N8rdfY2Bi333679/4CQB6pqamJ2267LRobG5N8jIJvfvObZ5aWlvqZGwAAu+6i1AoAANJlwoQJX6uoqBiQ5DOMHz8+Fi1aJEwAyDNvvvlmPPjgg4k+Q4sWLQY9+OCDx0gTAIBdRQEMAJAiRx55ZOWwYcN+kOQzzJ07N5544glhAkCemjhxYixYsCDRZxg+fPiPjjjiiJbSBABgV1AAAwCkyBVXXHFyUVFRRVLnr6qqijvvvDNyuZwwASBP5XK5uP3226O6ujqxZygqKmrxm9/85mRpAgCwKyiAAQBS4vzzz+/Xu3fv45J8httvvz0+/PBDYQJAnlu3bl3cfvvtiT5D7969jz///PP7SRMAgJ1NAQwAkALZbDZz6qmn/jyTyST2+m769OkxZ84cYQIAERExe/bsmDFjRmLnz2QyBaeeeurPs9lsRpoAAOxMCmAAgBT44x//eERlZeXgpM6/du3auPfeewUJAPyde+65J9atW5fY+SsrKwf/6U9/+oIkAQDYmRTAAAAJ17dv3+JDDjnkR0k+w9133x01NTXCBAD+Tk1NTdx9992JPsPBBx/8o759+xZLEwCAnUUBDACQcHfdddc3S0pKOiV1/smTJ8e8efMECQB8pLlz58azzz6b2PlLSko63nPPPd+SJAAAO4sCGAAgwb70pS9VDhw48KSkzr9mzZoYP368IAGALXrggQdizZo1iZ2/f//+Jx111FGtJAkAwM6gAAYASLArrrji1MLCwvIkzp7L5eK2226LTZs2CRIA2KJNmzbFbbfdFrlcLpHzFxYWll1++eU/kCQAADuDAhgAIKF+8Ytf9O7evftXkjr/s88+G2+88YYgAYBP5Y033ojnn38+sfN369bt6F/96ld9JAkAwI6mAAYASKgf/vCHP8pkMom8nvvggw/igQceECIAsFXGjRsX69atS+TsmUym4NRTT/2xFAEA2NEUwAAACXTdddcNa9eu3YFJnD2Xy8Udd9wRtbW1ggQAtsqmTZvizjvvTOz8bdq02f+mm27aT5IAAOxICmAAgIQpLS0t+NrXvnZ6Uud/4YUXYuHChYIEALbJq6++GjNmzEjs/Mccc8zpFRUVfiYHAMAO42ITACBhbr/99oMrKip2S+LsGzZsiHHjxgkRAPhM7r///qiqqkrk7OXl5X3/67/+6wgpAgCwoyiAAQASpKKiouCwww47Nanz33vvvYn9YS0A0HRs2LAh7r///sTOf9BBB/1zq1atCiUJAMCOoAAGAEiQ+++//+iysrKeSZx9zpw58dJLLwkRANguXnjhhViwYEEiZy8tLe32xz/+8StSBABgR1AAAwAkRN++fYv33Xfff07i7LW1tXHvvfcKEQDYru6+++6oq6tL5Oz77bffKf379y+RIgAA25sCGAAgIW6++eZRxcXFbZM4+yOPPBJr164VIgCwXa1atSoee+yxRM6ezWbb3njjjV+TIgAA25sCGAAgAYYOHVq21157fSeJs7/33nvxxBNPCBEA2CEmTpwYK1asSOTsQ4YM+c7QoUPLpAgAwPakAAYASIBrr732xKKiosqkzZ3L5eKee+6JxsZGIQIAO0R9fX3cddddkcvlEjd7UVFR5bXXXnuCFAEA2J4UwAAATdwBBxxQMWDAgG8kcfYZM2bEW2+9JUQAYId6880348UXX0zk7AMGDPjG8OHDy6UIAMD2ogAGAGjirrrqqhOKiooqkjb3pk2b4oEHHhAgALBT3H///VFbW5u4uYuKilpcffXV7gIGAGC7UQADADRhBx10UEX//v0Teffvww8/HB9++KEQAYCdYv369TFhwoREzj5w4MBvHHDAARVSBABge1AAAwA0Yf/5n/95bGFhYfOkzb1q1aqYPHmyAAGAnerpp5+O1atXJ27uwsLC8ssuu2yUBAEA2B4UwAAATdQBBxxQMWjQoNFJnP3uu++O+vp6IQIAO1V9fX3cddddiZx99913/+bQoUPLpAgAwGelAAYAaKIuv/zyYwsLC8uTNvfcuXNjwYIFAgQAdokFCxbE3LlzEzd3UVFRi9/97ndflyAAAJ+VAhgAoAkaOnRo2aBBgxL37t+6urr405/+JEAAYJf605/+FHV1dYmbe/fdd//mkCFDSiUIAMBnoQAGAGiCfvOb33ylqKioZdLmfu655xL53j0AIF1Wr14dzz33XOLmLioqann11VcfLUEAAD4LBTAAQBPTq1evZoMHD/5m0uaurq6ORx55RIAAQJPwyCOPRHV1deLmHjJkyLe6deuWlSAAANtKAQwA0MTcdNNNxxQXF7dN2twTJkyIqqoqAQIATUJVVVUifzmtuLi43a233uouYAAAtpkCGACgCWnVqlXhXnvtdVLS5l61alU8++yzAgQAmpTJkyfHqlWrEjf30KFDR7dq1apQggAAbAsFMABAE3LLLbccXlJS0jlpcz/44INRX18vQACgSamvr48HH3wwcXOXlJR0vummmw6VIAAA20IBDADQRGSz2cwBBxzw7aTNvWjRonjppZcECAA0SS+99FIsXrw4cXOPGDHiO9lsNiNBAAC2lgIYAKCJuOaaa/YuLy/vm7S5H3roocjlcgIEAJqkXC6XyLuAy8vL+1111VV7SRAAgK2lAAYAaCK+8pWvfDdpM8+bNy8WLlwoPACgSVu4cGG8+uqrrg8BAMgLCmAAgCbgsssuG1RZWblPkmbO5XIxfvx44QEAifDAAw8k7qklrVu33veSSy7pLz0AALaGAhgAoAkYNWrUCUmbefbs2bFs2TLhAQCJsGzZsnjllVcSN/cJJ5xwovQAANgaCmAAgF3sn//5nzt37NjxiCTN3NjYGA888IDwAIBEGT9+fDQ0NCRq5k6dOn1h9OjRHaQHAMCnpQAGANjFfvSjH30tk8kk6rps2rRpsWrVKuEBAImyatWqeOGFFxI1cyaTKfzpT386SnoAAHxaCmAAgF1o0KBBpX369Plqkmaur6+PCRMmCA8ASKQJEyZEXV1dombu27fvV/r27VssPQAAPg0FMADALnTZZZcdXlRUVJGkmadOnRpr164VHgCQSOvXr48pU6YkauaioqLK3/zmN0dIDwCAT0MBDACwi2Sz2cy+++57UpJmrqurc/cvAJB4jz76aOLuAt5///1PymazGekBAPBJFMAAALvI1VdfPbSsrKx3kmaeMmVKbNiwQXgAQKJt2LAhnn/++UTNXFZW1ueqq67aS3oAAHwSBTAAwC7y5S9/+bgkzVtfXx8TJ04UHACQCo8//nji7gL+0pe+dLzkAAD4JApgAIBdYPTo0R3atm07IkkzT5s2LdatWyc8ACAVPvzww5g+fXqiZm7fvv2I0aNHd5AeAABbogAGANgFfvrTn47KZDKFSZm3vr4+HnnkEcEBAKnyyCOPRH19fWLmzWQyhT/96U+/JjkAALZEAQwAsJN16tQp26dPn6OTNLO7fwGANFq3bl1MmzYtUTP36dPnmE6dOmWlBwDAx1EAAwDsZFddddUB2Wy2dVLmbWxsjEmTJgmOVOvYsWN06OCJmgD5aNKkSdHY2JiYebPZbOurrrrqAMkBAPBxFMAAADvZiBEjvp6keV988cVYtWqV4Ei1Ll26xIUXXhinnXZadO3a1UIA8siqVavipZdecj0JAEBqKIABAHaiM844o3tlZeXeSZk3l8vFxIkTBUdeyGQyMXjw4PjVr34VY8aMcUcwQB55/PHHI5fLJWbeysrKvc8444zukgMA4KMogAEAdqJTTjnlqxGRScq8CxYsiPfee09w5JVMJhN77713XHjhhTFmzJho3769pQCk3HvvvRcLFy5M1B9X/3NdCQAA/4cCGABgJ+nVq1ezXr16fTlJM3v3L/nsr0XwBRdcECeffHK0bdvWUgBSLGnXPb169fpyr169mkkOAIB/pAAGANhJrrjiioOLiopaJmXeBN4JAztEYWFhDB8+PC688MIYPXp0VFZWWgpACi1YsCCWLVuWmHmLiopaXnnllYdIDgCAf6QABgDYSYYPH/6VJM2btHfhwY5WVFQUI0aMiEsuuSRGjx4dLVu2tBSAFMnlcvH4448naub99tvvK5IDAOAfKYABAHaC0aNHd6isrByalHnXrl0bL7/8suDgI/y1CL744ovjhBNOiBYtWlgKQEq89NJLsW7dusTMW1lZudfo0aM7SA4AgL+lAAYA2AlOP/30o5J07fXMM89EQ0OD4GALiouL47DDDouxY8fGqFGjoqyszFIAEq6hoSGeeeaZJI1c8D/XmQAA8P8vEq0AAGDHymazmX79+n05KfPW1tbGlClTBAefUnFxcYwcOTIuvfTSGDVqVJSWlloKQII9//zzUVtbm5h5+/Xr9+VsNpuRHAAAf6UABgDYwX7zm9/sWVJS0jkp886YMSOqq6sFB1uppKQkRo4cGZdcckkcffTRUVJSYikACVRdXR0zZ85M0p8/na+44orBkgMA4K8UwAAAO9gXvvCFLyVl1lwuF08//bTQ4DNo3rx5HHXUUXHJJZfEyJEjI5vNWgpAwjz11FORy+USM++RRx75ZakBAPBXCmAAgB1oyJAhpZ07dz4iKfO+/vrrsWLFCsHBdlBeXh6jRo2KSy+9VBEMkDArVqyI119/PTHzdunS5fD+/ft79AQAABGhAAYA2KHGjh17aGFhYWJeCOruX9j+KioqYtSoUXHxxRfH4YcfHkVFRZYC4LpouyosLGz+H//xHwdLDQCACAUwAMAOteeeex6ZlFnXrl0b8+bNExrsIK1atYrjjz8+LrroohgxYkQUFPh2DKApmzdvXqxZsyYx8+61115HSg0AgAgFMADADnPMMce0bt269b5Jmfe5556LxsZGwcEO1qZNmxg9enRcfPHFimCAJqyxsTGee+65JP35MvyYY45pLTkAAPykAQBgBznzzDMPz2Qyibje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FpafffbZvaQFAJA+CmAAgE9p//3375+EOV9//XVhAXmjvLw8Ro0aFf/+7/8eI0eOjGw2aymA67FP6fOf//xAaQEApI8CGADgU+rRo8fuTX3G2traePvtt4UF5J2KiooYNWpUXHzxxXH44Yc3+XdvAum2ePHiRLySo1evXoOkBQCQPgpgAIBPqXXr1k3+DoklS5ZEQ0ODsIC81apVqzj++OPj4osvjhEjRkRBgW97gZ2voaEhlixZ0uTnbNOmjQIYACCFfCcMAPApDBkypLR58+a9m/qcb775prAAIqJ169YxevToGDt2rCIYcF32MZo3b95n0KBBpdICAEgX3wEDAHwKp556av9MJtPkr53eeustYQH8jTZt2sTo0aPjvPPOi+HDhyuCAddlfyOTyRT84Ac/+Jy0AADSxXe+AACfwuDBg5v84/Hq6+tj0aJFwgL4CJ06dYqTTz45/u3f/i323nvvyGQylgLsUIsXL07Eqzn23HPPgdICAEgXBTAAwKfQpUuXAU19xnfeeSfq6uqEBbAFnTt3jjFjxiiCgR2utrY23n333SRc53oPMABAyiiAAQA+hZYtW/Zv6jN6/DPAp9elS5cYM2ZMnHvuuTF48GALAfL2+iwJ17kAAGwdBTAAwCcYPnx4eUlJSeemPqfHPwNsvV69esVpp50W55xzTvTvrwMB8u/6rLS0tPPw4cPLpQUAkB4KYACAT/Ctb31rt4ho8s8IXbx4sbAAtlGfPn3irLPOinPOOSd22203CwG2i4T8gl7m29/+dj9pAQCkhwIYAOAT7L777k2+CVi7dm1s2LBBWACfUZ8+feLss8+OM888M3r27GkhwGfy4Ycfxrp165r8nAMHDlQAAwCkSJEVAABsWadOnZr8D8TefvttQQFsRwMGDIgBAwbEggULYvz48bF06VJLAbb5Oq1Vq1audwEA2GkUwAAAn6CyslIBDJCnBgwYEP3794958+bFQw89FO+++66lAFtlyZIlsddeezX1613PvgcASBEFMADAFnTq1CnbvHnzXk19ziVLlggLYAfJZDIxePDg2GOPPeLll1+OBx98MFauXGkxQGqu05o3b967Xbt2RatXr66XGABA8nkHMADAFowZM6ZnJpPJNuUZGxsbPZoUYCfIZDKx9957x4UXXhhjxoyJ9u3bWwrwiZYuXRqNjY1NesaCgoLsqaee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k8nE7NmzY+LEibFmzRoNAXif/VNSzJo161kTAwBongTAAAC70O233/7KOeecszU/P78022sdMGBAtG/f3tWu0My9+uqrMWnSpFi1apVmALyPjh07xgEHHJCIWhsbG6u/8Y1v/NXUAACaJwEwAMAutHLlyob169fP6tat2+hsrzWVSsXhhx8ekyZNMjhohubMmROTJ0+OJUuWaAbAh3D44YdHKpVKRK3r16+fVVFR0WhqAADNU54WAADsWq+++mpirts77LDDDAyamTfffDP+/d//PX7yk58IfwE+pFQqFSNGjEhMva+88sozpgYA0Hw5AQwAsIvddNNNz5166qnV+fn5rbO91m7dukX//v1j4cKFBgc5btmyZfHYY4/F/PnzNQPgIzrggAOic+fOiai1sbFxy4033jjL1AAAmi8BMADALrZy5cqG8vLyGT179vx0Euo9+uijBcCQw5YvXx7jxo0T/AJ8wv1SUpSXlz9TXl7eYGoAAM2XABgAYDeYMWPGUxdccEEiAuAhQ4ZE69ato7q62uAgh6xcuTImTJgQc+fOjUwmoyEAH1ObNm3i0EMPTUy9zz777FOmBgDQvPkGMADAbvDVr371lYaGhk1JqLWgoCCOOOIIQ4McsW7duvj5z38ed955Z8yZM0f4C/AJjRw5MvLz8xNRa0NDw8abbrrpVVMDAGjenAAGANgNKisrm1atWjW9T58+5ySh3qOPPjqefPJJQREk2Pr16+Oxxx6L2bNn+3cZYBdJpVIxatSoxNS7cuXKadXV1WmTAwBo3pwABgDYTaZNm5aY6/c6duwYAwYMMDRIoA0bNsSvf/3r+Nd//dd49dVXhb8Au9CAAQOiY8eOian36aefftLUAAAQAAMA7CZf+9rX5tTX11ckpd6jjjrK0CBBqqqq4v77749vf/vb8eKLL0ZTU5OmAOxiRx55ZGJqra+vX/eNb3zjdVMDAMAV0AAAu0ltbW16xYoVT++///6fT0K9hx56aLRt2zaqqqoMD7LYli1bYsqUKfHcc8/F9u3bNQRgN2nbtm0MGTIkMfUuX778qdraWtc/AwDgBDAAwO70xz/+cUJSas3Pz4/jjjvO0CBL1dTUxKOPPhq33XZb/OUvfxH+Auxmxx57bOTn5yel3Myvf/3rCaYGAECEABgAYLe66667llZXV89PSr1HH310tGjRwuAgi7wd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qATAAABZ4umnn968fPnyxF3xN3r06GjXrp0BAgBZqUOHDnH88ccnru5ly5ZNmD59+hYTBADgoxIAAwBkkbvvvvtPmUymKUk1FxYWxumnn254AEBWOvPMMxP3yYpMJtN41113/dH0AAD4OATAAABZ5Be/+MWatWvXTkta3UcccUT06tXLAAGArNK7d+847LDDEld3eXn5X+6///51JggAwMchAAYAyDIPP/zwn5JWcyqVijPPPNPwAICsMmbMmEilUomr+8EHH/yT6QEA8HEJgAEAsszXv/71NzZs2DAraXUPHDgwDj74YAMEALLCoEGDYsCAAYmru6KiYuatt966wAQBAPi4BMAAAFlo3Lhxv01i3WPGjIm8PFtMAGDvysvLizFjxiSy9j//+c+/NUEAAD7RflgLAACyz/XXXz+nqqrqr0mru1evXnHUUUcZIACwVx1zzDHRvXv3xNW9adOmV2666aa5JggAwCchAAYAyFJ/+tOf7k1i3WPGjInS0lIDBAD2ijZt2sRZZ52VyNofeOCBe00QAIBPSgAMAJClbrrpprlJPAVcXFwcZ555pgECAHvFWWedFS1btkxc3Zs2bXrl5ptvnmeCAAB8UgJgAIAsNm7cuF8lse5Ro0ZF7969DRAA2KP69OkTI0eOTGTtjz322K9MEACAXUEADACQxcaOHTu7qqrqb0mrO5VKxfnnnx+pVMoQAYA9tv/4/Oc/n8j9R2Vl5d+uueaav5kiAAC7ggAYACDLTZ069bdJrLtv374xZMgQAwQA9ojDDjsssTeQTJ48+TcmCADAriIABgDIcpdeeumLVVVVryax9s9//vNRXFxsiADAblVaWhrnn39+Imuvqqr66+WXX/6SKQIAsKsIgAEAEuChhx76WRLrLisri9NPP90AAYDd6qyzzoqSkpIklp753e9+91MTBABgVxIAAwAkwA033DB3w4YNs5JY+3HHHRd9+vQxRABgt+jbt28cddRRiay9oqJi1te//vU3TBEAgF1JAAwAkBA///nPfxoR6aTVnUql4vOf/3zk5dl6AgC7Vn5+flx00UWRSqWSWH76F7/4xX+bIgAAu5q3cAAACXHHHXe8tW7duulJrL13795xzDHHGCIAsEudcMIJ0b1790TWXl5e/pc77rjjLVMEAGBXEwADACTI3XfffW8mk2lKYu1nnXVWtG3b1hAB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onv37vEv//IvccABBzSrdWcymaYnnnji9s997nPPeAoAAODDEQADAJBYDz/88NJjjjlmY+/evY+KiGZzFKq0tDSGDx8eq1evjvXr13sQAHLcwIED45prrol27do1t6VnZsyY8YOzzjprqqcAAAA+PAEwAACJdv/99795zDHHVO6zzz5HRDMKgVu0aBGHHXZYtGzZMhYuXBjpdNrDAJBjCgoK4pxzzonzzz8/WrRo0dyWn37uuefuOuWUUyZ4EgAA4KMRAAMAkHi///3v5w8bNmxF3759j2lO10GnUqno27dvDB06NBYvXhxbtmzxMADkiJ49e8YNN9wQgwcPblbf+434x7XPU6ZM+fbpp58+2ZMAAAAfnQAYAICc8OCDDy4ZNmzYin79+jWrEDgionXr1nHEEUdEfX19LF261MMAkGCpVCpOOOGEuOKKK6JNmzbNbv07wt9vnXPOOX/xNAAAwMcjAAYAIGc89NBDS4YNG7a8X79+xza3EDg/Pz8OPvjg6NWrV8yfPz8aGho8EAAJU1JSEpdffnmccMIJkZ+f3+zWn8lkGp944olvffazn53maQAAgI9PAAwAQE556KGHlo4cOXJdnz59RqWa252ZEdG1a9cYNmxYLFu2LCorKz0QAAnRt2/fuO6662K//fZrluvPZDLpp59++rvnnHPO054GAAD4ZATAAADknD/96U+LDj300KX7779/s7sOOiKiuLg4jjzyyCgpKYk333wz0um0hwIgSxUUFMRnP/vZuPDCC6OkpKRZ9iCdTjc88sgjt5x//vnTPREAAPDJCYABAMhJDz/88NId3wQelUqlmt09mqlUKvr06RMHH3xwLFy4MLZt2+ahAMgynTt3jrFjx8bQoUOjGV5aERH/CH+feOKJ2y+88MLnPBEAALBrCIABAMhZDz300JIePXq8NmjQoGPz8vJaNMcetG3bNkaNGhVNTU2xZMkSDwVAFkilUjF69Oi48soro0OHDs22D01NTdt++9vf/stll132oqcCAAB2HQEwAAA5bdKkSeXdu3efM3jw4GYbAufn58eAAQOiV69esWDBgti+fbsHA2Avad26dVx66aVx/PHHR35+frPtQ2NjY/WvfvWrf7nuuute81QAAMCuJQAGACDnTZ48eW1jY+OMI4444uiCgoKS5tqHrl27xqhRo2Lbtm2xcuVKDwbAHpRKpWLUqFExduzY6NWrV7PuRX19/fo77rjjK9/61rcWejIAAGDXEwADANAsPP/881UbNmx45rjjjjuqsLCwrLn2obCwMAYNGhT77bdfLF68OGpraz0cALtZ+/bt44orrogTTzwxCgub9/uU2tralTfffPPVP/nJT1Z7MgAAYPcQAAMA0Gz87W9/27p27doZJ5xwwsjCwsK2zbkXnTp1ipEjR0Z1dbXTwAC70ciRI+Pqq6+OHj16NPte1NTULL/hhhuu/e1vf7vOkwEAALuPABgAgGbltdde2zpv3rynTznllKFFRUWdmnMvCgsL49BDD4399tsvFi1a5DQwwC709qnfk08+udmf+o2I2Lx587yLL774unHjxm30dAAAwO71fgFwat9zYsTOftC4LmLjq610DwCAxOrVq1fhs88++69du3Y9QTciGhoaYurUqTF58uRobGzUEICPqaCgIE499dQYPXq04HeH8vLyp4499tjvrly5skE3AABg9+swrDYKuuz8ZwJgAAByWuvWrfNeeumlm/fdd9+zdeMfVq9eHffff38sWbJEMwA+ov322y8uuugi1z2/w8KFC38/fPjwnzY0NGR0AwAA9gwBMAAAzd7zzz9/8aGHHnp1RKR0IyKTycTMmTPjz3/+c9TV1WkIwAcoKSmJ8847L0aMGBGplL9Kdki//PLL9xx77LEPagUAAOxZ7xcA+wYwAADNwn333Tfn+OOP39yrV6/DQwgcqVQqevfuHcOHD49169ZFRUWFhwTgPRxyyCExduzY6N+/v/B3h0wm0/jMM8/828knnzxONwAAYM97v28AC4ABAGg2fve7370xePDgJf369Ts6lUrl60hEcXFxjBgxInr06BFLly6N2tpaTQHYoUOHDvGFL3whzjzzzCguLtaQHZqammoeeOCBWz73uc9N1w0AANg7BMAAALDDww8/vKygoOC54cOHH1FQUFCqI//QrVu3OO6446K0tDQWL14cTU1NmgI0Wy1btoxzzjknLr300ujevbuGvENtbe2K22677arbbrvtDd0AAIC9RwAMAADv8Oyzz25avHjx0yeddNKQoqKiTjryD3l5edGnT58YOXJkbN26NVatWqUpQLNz+OGHx1e+8pUYMGBA5OXlacg7VFVV/e3CCy+8/oEHHvDdAAAA2MsEwAAA8C7z58+vefbZZ58+44wz+hcX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OigOOOCAKCoq0pQs0djYuGXmzJk/PvPMMyc2NDS4XgAAAPjQBMAAAJADjjzyyNY/+9nPrujbt++5EZGnI9mluro6Fi5cGPPnz4958+ZFZWWlprBXtGvXLg455JAYMGBA9O/fP1q39nsjWSj91ltv/fmqq676xaxZs6q1AwAA+KgEwAAAkEN++ctfjhgzZsyNrVq16q0b2SmdTsfKlStj0aJFsXDhwli8eHFs27ZNY9gtSkpKol+/ftG/f//Yf//9o1evXpGX53dEslVNTc3yRx999EdXXnnlK7oBAAB8XAJgAADIMd26dSt8+OGHPzd48ODL8vPzbdyzXCaTiTVr1sTChQtj0aJFsWjRotiyZYvG8LGUlZVF//79/xn6du/ePVKplMZkuaampprXXnvtV2PGjHmgoqKiUUcAAIBPQgAMAAA56rjjjiv7r//6r8tdC508mzdvjuXLl8eKFSti+fLlsXjx4qipqdEY/pfi4uLo169f9O7dO/bZZ5/Yd999o6ysTGMSJJPJpJcsWfLn66677pfTp0/3mx8AAMAuIQAGAIAc99Of/nTIueeee3NpaWlf3UimxsbGWLlyZSxdujSWLVsWy5cvj3Xr1kUmk9GcZiKVSkWXLl1in332iT59+kSfPn2iV69eUVBQoDkJtXXr1sUPPvjgj6699tq/6wYAALArCYABAKAZaNeuXf64cePOGTp06BUFBQWtdST56uvrY+XKlf88KbxixYpYu3ZtpNNpzUm4vLy86Nq1a+yzzz7//KdXr17RsmVLzckBjY2NW/7617/+4pxzznm0srKySUcAAIBdTQAMAADNyIknntjmnnvuuXzfffcdk0qlHB3MMdu3b481a9bEmjVrYu3atbF27dooLy+PDRs2CIazUF5eXnTs2DG6desWXbt2jW7dukW3bt2iR48eUVhYqEE5JpPJNC5ZsuRR1z0DAAC7mwAYAACaoa9+9av7Xnfdddd16NDhCN3IfY2Njf8MhNetWxfr1q2LioqKWLduXWzbtk2DdrPS0tLo3LnzP//p0qVLdO3aNbp27eoK52Ziw4YNM//rv/7rxz/60Y+W6wYAALC7CYABAKAZ++UvfznirLPOuq64uNj3gZupmpqaWL9+/T//qaioiMrKyqisrIxNmzZFY2OjJn2AgoKCaN++fbRr1y7at28fHTt2jC5dukSnTp2ic+fOUVxcrEnN1NatW98aP378PVdcccXLugEAAOwpAmAAAGjm2rVrl//ggw+eOWLEiCsLCwvb6gjvtHnz5n+GwZs2bYrKysqorq6OLVu2xJYtW6K6ujqqq6sjk8nk3NpTqVS0bt06WrduHWVlZdGmTZsoLS39X2Fvu3btok2bNh4U/peGhobKl1566efnnHPO+OrqavevAwAAe5QAGAAAiIiIoUOHFt97770XHHjggRfk5+c7ssiHlk6n/xkEV1dXR01Nzfv+k8lkora2NtLpdNTX10dTU1PU1dXt0u8U5+XlRcuWLSM/Pz+KiooiLy8vWrVqFalUKoqLi3f6T0lJSbRq1eqfgW9paWnk5eUZMB9aU1NTzYIFC/745S9/+Y+zZ8+u0REAAGBvEAADAAD/y2mnndb2rrvuurRPnz5n5+XlFeoIe9LbgfDbtm/f/r7XUBcUFESLFi3++b/fDnxhT8pkMg1LliwZd8stt/xq0qRJVToCAADsTQJgAABgp0477bS2d95554X777//5wTBAP9XJpNpWLhw4QO33nrrHwS/AABAtni/ADi/7UHRc2c/SG+LqC33/gcAAHLZokWL6u69995X0un0swcddFCnkpKS3roC8A8VFRUz/7//7/+77aKLLpq6aNGiOh0BAACyRXH3xsgr3fnPBMAAAEDMnDmz8u67736qqalpWr9+/Ypbt27dN5VKpXQGaG4ymUx6zZo1U+65555/Peeccx6cOXNmpa4AAADZRgAMAAB8KDNnzqz88Y9//Gw6nZ4uCAaak7eD37vvvvtfzz///McEvwAAQDYTAAMAAB+JIBhoLgS/AABAEgmAAQCAj+XtILisrOyFvn37diwuLu4VEYJgIBdkKioqnrv33nu/PWbMmEcEvwAAQJK8XwCc2vecGLGzHzSui9j4aivdAwAA/unqq6/u8ZWvfOX8Pn36nJWXl9dCR4CkSafT9UuXLh3/X//1Xw/84he/WKMjAABAEnUYVhsFXXb+MwEwAADwkZ1xxhntb7/99rMPPPDA8/Pz81vrCJDtmpqaqhcsWPDgd77znUcmTpzotC8AAJBoAmAAAGC3GD58eMkPf/jDzwwePPjioqKijjoCZJv6+voNr7322u9vvPHGx2fPnl2jIwAAQC4QAAMAALvV0KFDi++5556zDjnkkPOKioq66giwt9XV1a19/fXXH7z++uvHC34BAIBcIwAGAAD2iFatWuXdc889w0455ZTzO3bseJSOAHtYZsOGDbOmTJny4PXXX/9qbW1tWksAAIBcJAAGAAD2uH/913/tf/7555/dq1ev0/Ly8lroCLC7pNPp+pUrV05+4IEHHvnOd76zSEcAAIBcJwAGAAD2mjPOOKP97bfffvYBBxzw2YKCgjY6AuwqjY2NVW+++eafv/e97z06YcKETToCAAA0FwJgAABgrxs+fHjJ97///dGDBg0aU1paur+OAB9XdXX1wtdee+3Rr371q1Nfe+21Wh0BAACaGwEwAACQVb761a/ue8EFF3y6b9++ZxUUFLTWEeCDNDY2bnnrrbfG/+EPf5j4ox/9aLmOAAAAzZkAGAAAyEpDhw4t/sEPfnDy4MGDz27dunV/HQHerbq6+s2XX375weuuu+7ppUuXbtcRAAAAATAAAJDlCgsLU3ffffeQ0aNHn9G1a9fj8vLyinQFmq90Ol1XXl4+bcqUKROuvfbav+sIAADA/yYABgAAEqNPnz4t/v3f/33UyJEjz2rfvv2nIiKlK9AsZDZt2vTXF1544bGvfe1rzzntCwAA8N4EwAAAQCJddNFFXa6++uqTDzzwwLNbtmzZTUcg99TV1a1ZsGDBuJ/+9KdP3n///et0BAAA4IMJgAEAgETr1q1b4d13333k4YcffmqHDh2OyMvLK9QVSK50Ot2wcePGWbNmzZp8/fXXz6qoqGjUFQAAgA9PAAwAAOSMo48+uvWtt956/CGHHHJKu3btBkdEnq5AIqQrKytfmzdv3uQ777xz+owZM6q1BAAA4OMRAAMAADnpuOOOK/vGN75x/CGHHHJa27ZtB4bvBUO2yVRVVc2dN2/epO9///vTpk+fvkVLAAAAPjkBMAAAkPNuu+22vmedddZJffr0Oa5Vq1a9dQT2ntra2uXLly+f/uijjz51xx13vKUjAAAAu5YAGAAAaFa+9KUvdbv44ouP7t+//wlOBsMekamqqpq7cOHCv/z+97+fcd9995VrCQAAwO4jAAYAAJqtSy65pOtll112jDAYdrl0VVXVvIULF/7lV7/61bO/+93v1moJAADAniEABgAAiIirr766x/nnnz9q//33P7JNmzZDUqlUga7Ah5fJZBoqKyv/vnjx4uf+9Kc/zbr33ntX6woAAMCeJwAGAAB4l379+hV97WtfGzRy5MhRPXv2PLaoqKizrsD/VV9fv37VqlXPvPDCC8/9+7//+5zFixfX6woAAMDeJQAGAAB4H61bt8678847Bx599NFHde/efURpaen+4apomq/M1q1bF69Zs+bF5557btY3v/nNOdXV1WltAQAAyB4CYAAAgI9g8ODBrcaOHXvI8OHDD+vevfvw1q1bHxACYXJXprq6+s01a9a88sorr7z8k5/8ZN5rr71Wqy0AAADZSwAMAADwCVx//fX7nHHGGYf169dvePv27Yfm5+e31hWSrLGxsXrjxo2vvvXWWy+PHz/+lR//+McrdQUAACA5BMAAAAC70Je//OUe55xzzvA+ffoM7tix45CioqKuukI2q6+vX7t27doXFy9ePGfixImv3Xvvvat1BQAAILkEwAAAALvRl7/85R6f+cxnBvfr129Qly5dDm/ZsqVAmL2qrq5u7bp16wS+AAAAOUoADAAAsIe0atUq75prrtnn2GOPPXi//fY7uH379oeUlpb2TaVS+brDbpKuqalZtnHjxnlvvfXW3GeffXbef/3Xfy2vra1Naw0AAEBuEgADAADsRQceeGDLq6+++oAhQ4Yc3LNnz4Pbtm17sGuj+biampqqq6qqXi8vL583Z86ceb/85S/nvfjii1t1BgAAoPkQAAMAAGSZoUOHFn/xi1/cf9CgQQf26NHjwHbt2h3YqlWr3qlUKk932CFdU1OzvLKycsHq1asXzJkzZ8Gf//znJTNmzKjWGgAAgOZNAAwAAJAAxx13XNkFF1xw4MEHH3xA165dDywtLd23pKRkn1QqVag7uS2TyTRs27ZtRXV19dJ169YtfOONNxZOmDBh4YQJEzbpDgAAAO8mAAYAAEiw8847r+OJJ57Yp3///vt16dKlT5s2bfZr3bp1v/z8/GLdSZampqaa6urqxZs3b16ybt26pQsXLlzy9NNPL33ooYc26A4AAAAflgAYAAAgx7Rr1y7/kksu6TFkyJCe++67b89OnTr1Kisr61VcXNyzZcuW3VKpVL4u7R2ZTKaprq6uvKamZtWWLVtWVlRUrFy6dOnK2bNnr7r//vvXVFZWNukSAAAAn4QAGAAAoBnp1KlTwec+97luQ4cO7bnPPvv0aNeuXafWrVt3Li4u7tqyZcvORUVFnfLy8lro1MeTTqe319fXr6+rq6uoqalZW11dvb6y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AACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoMY3JP//9K8My551lzpAk293a7QAAAAAAAAD8iIw3r+SL7TpPxuSt4/ibJJuz20QDBgAAAAAAAHhzrJPp6NvHYcyyjLl7dJTPbl/Jp6sPLufSsM+5ec7q5YOrF0OeP/SVaAAAAAAAAIA3weH7u6zfm79dWDIMSw6225w785vsx3XyzasOby5ssz69c4sAAAAAAAAAr9n69C6bC9sT93a7rKdnORin5Otxynzi1JQcfiwCAwAAAAAAALxO69O7HH68TaaT98cp85R8vbp3Nfszv8q0LHn7xMF1sjk/ZzUPmZ/MmWefhAYAAAAAAAD4oayPdjn7223Gn7x6ZrXPnetX8mBKkpv3cufDd/Pufn5FL56SzcVtNheT3dNt8tQlAwAAAAAAAHyv1sm0ySv/9XtsNWZ3I/lHkgzHi7/4XY7WYz5yiwAAAAAAAAA/Ivtcv/3nPEyS1fHa42t5+vNLyX7JoRsCAAAAAAAAePPt1/nbV3/KvePn1Xc371/NYxEYAAAAAAAA4M0yTHk2rvNo2WdzvHZqzN9v/SF3vju3evng/at5fPDLPDu1yuGyZHSVAAAAAAAAAK/XOGe4ueSvZ4e8M8xZbVe5ceuPufvy3Oqkw4+v5emDX+fuuTlLhhwsEYIBAAAAAAAAXpclGR8OuXP0TR4cPM/9z/+SRyfNDf/1TZezOp/87KdjzizJZkhO7edMy/w/nAUAAAAAAADg/zaMWcZkP8/ZLsmLacr2/MV8+cnvs/tP5/4FmLjAq1ifcioAAAAASUVORK5CYII=";
|
|
3643
3724
|
function it(t, n, e) {
|
|
3644
3725
|
return typeof t == "string" && !isNaN(Number(t)) && (t = Number(t)), typeof t == "number" && t < 100 ? ct(t) : typeof t == "number" && t >= 100 ? t : typeof t == "string" && t.includes("%") ? Math.round(n && n === "X" ? parseFloat(t) / 100 * e.width : n && n === "Y" ? parseFloat(t) / 100 * e.height : parseFloat(t) / 100 * e.width) : 0;
|
|
3645
3726
|
}
|
|
@@ -3675,12 +3756,12 @@ function ht(t, n) {
|
|
|
3675
3756
|
const A = Ee.test(e) ? "srgbClr" : "schemeClr", a = 'val="' + (Ee.test(e) ? e.toUpperCase() : e) + '"';
|
|
3676
3757
|
return n ? `<a:${A} ${a}>${n}</a:${A}>` : `<a:${A} ${a}/>`;
|
|
3677
3758
|
}
|
|
3678
|
-
function
|
|
3759
|
+
function Or(t, n) {
|
|
3679
3760
|
let e = "";
|
|
3680
3761
|
const A = Object.assign(Object.assign({}, n), t), a = Math.round(A.size * ve), i = A.color, s = Math.round(A.opacity * 1e5);
|
|
3681
3762
|
return e += `<a:glow rad="${a}">`, e += ht(i, `<a:alpha val="${s}"/>`), e += "</a:glow>", e;
|
|
3682
3763
|
}
|
|
3683
|
-
function
|
|
3764
|
+
function Tt(t) {
|
|
3684
3765
|
let n = "solid", e = "", A = "", a = "";
|
|
3685
3766
|
if (t)
|
|
3686
3767
|
switch (typeof t == "string" ? e = t : (t.type && (n = t.type), t.color && (e = t.color), t.alpha && (A += `<a:alpha val="${Math.round((100 - t.alpha) * 1e3)}"/>`), t.transparency && (A += `<a:alpha val="${Math.round((100 - t.transparency) * 1e3)}"/>`)), n) {
|
|
@@ -3693,14 +3774,14 @@ function Ft(t) {
|
|
|
3693
3774
|
}
|
|
3694
3775
|
return a;
|
|
3695
3776
|
}
|
|
3696
|
-
function
|
|
3777
|
+
function Qt(t) {
|
|
3697
3778
|
return t._rels.length + t._relsChart.length + t._relsMedia.length + 1;
|
|
3698
3779
|
}
|
|
3699
|
-
function
|
|
3780
|
+
function oa(t) {
|
|
3700
3781
|
if (!(!t || typeof t != "object"))
|
|
3701
3782
|
return t.type !== "outer" && t.type !== "inner" && t.type !== "none" && (console.warn("Warning: shadow.type options are `outer`, `inner` or `none`."), t.type = "outer"), t.angle && ((isNaN(Number(t.angle)) || t.angle < 0 || t.angle > 359) && (console.warn("Warning: shadow.angle can only be 0-359"), t.angle = 270), t.angle = Math.round(Number(t.angle))), t.opacity && ((isNaN(Number(t.opacity)) || t.opacity < 0 || t.opacity > 1) && (console.warn("Warning: shadow.opacity can only be 0-1"), t.opacity = 0.75), t.opacity = Number(t.opacity)), t.color && t.color.startsWith("#") && (console.warn('Warning: shadow.color should not include hash (#) character, , e.g. "FF0000"'), t.color = t.color.replace("#", "")), t;
|
|
3702
3783
|
}
|
|
3703
|
-
function
|
|
3784
|
+
function Xr(t, n, e) {
|
|
3704
3785
|
var A, a;
|
|
3705
3786
|
const i = 2.3 + (!((A = t.options) === null || A === void 0) && A.autoPageCharWeight ? t.options.autoPageCharWeight : 0), s = Math.floor(n / ve * ot) / ((!((a = t.options) === null || a === void 0) && a.fontSize ? t.options.fontSize : St) / i), c = [];
|
|
3706
3787
|
let l = [];
|
|
@@ -3737,7 +3818,7 @@ function Er(t, n, e) {
|
|
|
3737
3818
|
}), d.length > 0 && c.push(d);
|
|
3738
3819
|
}), c;
|
|
3739
3820
|
}
|
|
3740
|
-
function
|
|
3821
|
+
function Qa(t = [], n = {}, e, A) {
|
|
3741
3822
|
let a = ge, i = ot * 1, s = ot * 1, c = 0, l = 0;
|
|
3742
3823
|
const r = [], o = it(n.x, "X", e), f = it(n.y, "Y", e), g = it(n.w, "X", e), d = it(n.h, "Y", e);
|
|
3743
3824
|
let m = g;
|
|
@@ -3765,24 +3846,24 @@ function Xa(t = [], n = {}, e, A) {
|
|
|
3765
3846
|
const x = [];
|
|
3766
3847
|
let k = 0, L = 0, R = [];
|
|
3767
3848
|
v.forEach((E) => {
|
|
3768
|
-
var J, B,
|
|
3849
|
+
var J, B, M, p;
|
|
3769
3850
|
R.push({
|
|
3770
3851
|
_type: nt.tablecell,
|
|
3771
3852
|
text: [],
|
|
3772
3853
|
options: E.options
|
|
3773
|
-
}), E.options.margin && E.options.margin[0] >= 1 ? (!((J = E.options) === null || J === void 0) && J.margin && E.options.margin[0] && et(E.options.margin[0]) > k ? k = et(E.options.margin[0]) : n?.margin && n.margin[0] && et(n.margin[0]) > k && (k = et(n.margin[0])), !((B = E.options) === null || B === void 0) && B.margin && E.options.margin[2] && et(E.options.margin[2]) > L ? L = et(E.options.margin[2]) : n?.margin && n.margin[2] && et(n.margin[2]) > L && (L = et(n.margin[2]))) : (!((
|
|
3854
|
+
}), E.options.margin && E.options.margin[0] >= 1 ? (!((J = E.options) === null || J === void 0) && J.margin && E.options.margin[0] && et(E.options.margin[0]) > k ? k = et(E.options.margin[0]) : n?.margin && n.margin[0] && et(n.margin[0]) > k && (k = et(n.margin[0])), !((B = E.options) === null || B === void 0) && B.margin && E.options.margin[2] && et(E.options.margin[2]) > L ? L = et(E.options.margin[2]) : n?.margin && n.margin[2] && et(n.margin[2]) > L && (L = et(n.margin[2]))) : (!((M = E.options) === null || M === void 0) && M.margin && E.options.margin[0] && ct(E.options.margin[0]) > k ? k = ct(E.options.margin[0]) : n?.margin && n.margin[0] && ct(n.margin[0]) > k && (k = ct(n.margin[0])), !((p = E.options) === null || p === void 0) && p.margin && E.options.margin[2] && ct(E.options.margin[2]) > L ? L = ct(E.options.margin[2]) : n?.margin && n.margin[2] && ct(n.margin[2]) > L && (L = ct(n.margin[2])));
|
|
3774
3855
|
}), u(), c += k + L, n.verbose && b === 0 && console.log(`| SLIDE [${r.length}]: emuSlideTabH ...... = ${(s / ot).toFixed(1)} `), v.forEach((E, J) => {
|
|
3775
3856
|
var B;
|
|
3776
|
-
const
|
|
3857
|
+
const M = {
|
|
3777
3858
|
_type: nt.tablecell,
|
|
3778
3859
|
_lines: null,
|
|
3779
|
-
_lineHeight: ct((!((B = E.options) === null || B === void 0) && B.fontSize ? E.options.fontSize : n.fontSize ? n.fontSize : St) * (
|
|
3860
|
+
_lineHeight: ct((!((B = E.options) === null || B === void 0) && B.fontSize ? E.options.fontSize : n.fontSize ? n.fontSize : St) * (Ir + (n.autoPageLineWeight ? n.autoPageLineWeight : 0)) / 100),
|
|
3780
3861
|
text: [],
|
|
3781
3862
|
options: E.options
|
|
3782
3863
|
};
|
|
3783
|
-
|
|
3864
|
+
M.options.rowspan && (M._lineHeight = 0), M.options.autoPageCharWeight = n.autoPageCharWeight ? n.autoPageCharWeight : null;
|
|
3784
3865
|
let p = n.colW[J];
|
|
3785
|
-
E.options.colspan && Array.isArray(n.colW) && (p = n.colW.filter((I, K) => K >= J && K < K + E.options.colspan).reduce((I, K) => I + K)),
|
|
3866
|
+
E.options.colspan && Array.isArray(n.colW) && (p = n.colW.filter((I, K) => K >= J && K < K + E.options.colspan).reduce((I, K) => I + K)), M._lines = Xr(E, p), x.push(M);
|
|
3786
3867
|
}), n.verbose && console.log(`
|
|
3787
3868
|
| SLIDE [${r.length}]: ROW [${b}]: START...`);
|
|
3788
3869
|
let N = 0, U = 0, P = !1;
|
|
@@ -3810,7 +3891,7 @@ function Xa(t = [], n = {}, e, A) {
|
|
|
3810
3891
|
|
|
3811
3892
|
`)), r;
|
|
3812
3893
|
}
|
|
3813
|
-
function
|
|
3894
|
+
function Gr(t, n, e = {}, A) {
|
|
3814
3895
|
const a = e || {};
|
|
3815
3896
|
a.slideMargin = a.slideMargin || a.slideMargin === 0 ? a.slideMargin : 0.5;
|
|
3816
3897
|
let i = a.w || t.presLayout.width;
|
|
@@ -3894,7 +3975,7 @@ function zr(t, n, e = {}, A) {
|
|
|
3894
3975
|
break;
|
|
3895
3976
|
}
|
|
3896
3977
|
});
|
|
3897
|
-
}), a._arrObjTabHeadRows = s || null, a.colW = r,
|
|
3978
|
+
}), a._arrObjTabHeadRows = s || null, a.colW = r, Qa([...s, ...c, ...l], a, t.presLayout, A).forEach((u, y) => {
|
|
3898
3979
|
const v = t.addSlide({ masterName: a.masterSlideName || null });
|
|
3899
3980
|
y === 0 && (a.y = a.y || f[0]), y > 0 && (a.y = a.autoPageSlideStartY || a.newSlideStartY || f[0]), a.verbose && console.log(`| opts.autoPageSlideStartY: ${a.autoPageSlideStartY} / arrInchMargins[0]: ${f[0]} => opts.y = ${a.y}`), v.addTable(u.rows, { x: a.x || f[3], y: a.y, w: Number(i) / ot, colW: r, autoPage: !1 }), a.addImage && (a.addImage.options = a.addImage.options || {}, !a.addImage.image || !a.addImage.image.path && !a.addImage.image.data ? console.warn("Warning: tableToSlides.addImage requires either `path` or `data`") : v.addImage({
|
|
3900
3981
|
path: a.addImage.image.path,
|
|
@@ -3906,19 +3987,19 @@ function zr(t, n, e = {}, A) {
|
|
|
3906
3987
|
})), a.addShape && v.addShape(a.addShape.shapeName, a.addShape.options || {}), a.addTable && v.addTable(a.addTable.rows, a.addTable.options || {}), a.addText && v.addText(a.addText.text, a.addText.options || {});
|
|
3907
3988
|
});
|
|
3908
3989
|
}
|
|
3909
|
-
let
|
|
3910
|
-
function
|
|
3990
|
+
let Qr = 0;
|
|
3991
|
+
function Wr(t, n) {
|
|
3911
3992
|
t.bkgd && (n.bkgd = t.bkgd), t.objects && Array.isArray(t.objects) && t.objects.length > 0 && t.objects.forEach((e, A) => {
|
|
3912
3993
|
const a = Object.keys(e)[0], i = n;
|
|
3913
|
-
Vt[a] && a === "chart" ?
|
|
3994
|
+
Vt[a] && a === "chart" ? Wa(i, e[a].type, e[a].data, e[a].opts) : Vt[a] && a === "image" ? Va(i, e[a]) : Vt[a] && a === "line" ? je(i, Yt.LINE, e[a]) : Vt[a] && a === "rect" ? je(i, Yt.RECTANGLE, e[a]) : Vt[a] && a === "text" ? Pe(i, [{ text: e[a].text }], e[a].options, !1) : Vt[a] && a === "placeholder" && (e[a].options.placeholder = e[a].options.name, delete e[a].options.name, e[a].options._placeholderType = e[a].options.type, delete e[a].options.type, e[a].options._placeholderIdx = 100 + A, Pe(i, [{ text: e[a].text }], e[a].options, !0));
|
|
3914
3995
|
}), t.slideNumber && typeof t.slideNumber == "object" && (n._slideNumberProps = t.slideNumber);
|
|
3915
3996
|
}
|
|
3916
|
-
function
|
|
3997
|
+
function Wa(t, n, e, A) {
|
|
3917
3998
|
var a;
|
|
3918
3999
|
function i(f) {
|
|
3919
4000
|
!f || f.style === "none" || (f.size !== void 0 && (isNaN(Number(f.size)) || f.size <= 0) && (console.warn("Warning: chart.gridLine.size must be greater than 0."), delete f.size), f.style && !["solid", "dash", "dot"].includes(f.style) && (console.warn("Warning: chart.gridLine.style options: `solid`, `dash`, `dot`."), delete f.style), f.cap && !["flat", "square", "round"].includes(f.cap) && (console.warn("Warning: chart.gridLine.cap options: `flat`, `square`, `round`."), delete f.cap));
|
|
3920
4001
|
}
|
|
3921
|
-
const s = ++
|
|
4002
|
+
const s = ++Qr, c = {
|
|
3922
4003
|
_type: null,
|
|
3923
4004
|
text: null,
|
|
3924
4005
|
options: null,
|
|
@@ -3931,18 +4012,18 @@ function Ga(t, n, e, A) {
|
|
|
3931
4012
|
f._dataIndex = g, f.labels !== void 0 && !Array.isArray(f.labels[0]) && (f.labels = [f.labels]);
|
|
3932
4013
|
});
|
|
3933
4014
|
const o = l && typeof l == "object" ? l : {};
|
|
3934
|
-
if (o._type = n, o.x = typeof o.x < "u" && o.x != null && !isNaN(Number(o.x)) ? o.x : 1, o.y = typeof o.y < "u" && o.y != null && !isNaN(Number(o.y)) ? o.y : 1, o.w = o.w || "50%", o.h = o.h || "50%", o.objectName = o.objectName ? rt(o.objectName) : `Chart ${t._slideObjects.filter((f) => f._type === nt.chart).length}`, ["bar", "col"].includes(o.barDir || "") || (o.barDir = "col"), o._type ===
|
|
4015
|
+
if (o._type = n, o.x = typeof o.x < "u" && o.x != null && !isNaN(Number(o.x)) ? o.x : 1, o.y = typeof o.y < "u" && o.y != null && !isNaN(Number(o.y)) ? o.y : 1, o.w = o.w || "50%", o.h = o.h || "50%", o.objectName = o.objectName ? rt(o.objectName) : `Chart ${t._slideObjects.filter((f) => f._type === nt.chart).length}`, ["bar", "col"].includes(o.barDir || "") || (o.barDir = "col"), o._type === W.AREA && (["stacked", "standard", "percentStacked"].includes(o.barGrouping || "") || (o.barGrouping = "standard")), o._type === W.BAR && (["clustered", "stacked", "percentStacked"].includes(o.barGrouping || "") || (o.barGrouping = "clustered")), o._type === W.BAR3D && (["clustered", "stacked", "standard", "percentStacked"].includes(o.barGrouping || "") || (o.barGrouping = "standard")), !((a = o.barGrouping) === null || a === void 0) && a.includes("tacked") && (o.barGapWidthPct || (o.barGapWidthPct = 50)), o.dataLabelPosition && ((o._type === W.AREA || o._type === W.BAR3D || o._type === W.DOUGHNUT || o._type === W.RADAR) && delete o.dataLabelPosition, o._type === W.PIE && (["bestFit", "ctr", "inEnd", "outEnd"].includes(o.dataLabelPosition) || delete o.dataLabelPosition), (o._type === W.BUBBLE || o._type === W.BUBBLE3D || o._type === W.LINE || o._type === W.SCATTER) && (["b", "ctr", "l", "r", "t"].includes(o.dataLabelPosition) || delete o.dataLabelPosition), o._type === W.BAR && (["stacked", "percentStacked"].includes(o.barGrouping || "") || ["ctr", "inBase", "inEnd"].includes(o.dataLabelPosition) || delete o.dataLabelPosition, ["clustered"].includes(o.barGrouping || "") || ["ctr", "inBase", "inEnd", "outEnd"].includes(o.dataLabelPosition) || delete o.dataLabelPosition)), o.dataLabelBkgrdColors = o.dataLabelBkgrdColors || !o.dataLabelBkgrdColors ? o.dataLabelBkgrdColors : !1, ["b", "l", "r", "t", "tr"].includes(o.legendPos || "") || (o.legendPos = "r"), ["cone", "coneToMax", "box", "cylinder", "pyramid", "pyramidToMax"].includes(o.bar3DShape || "") || (o.bar3DShape = "box"), ["circle", "dash", "diamond", "dot", "none", "square", "triangle"].includes(o.lineDataSymbol || "") || (o.lineDataSymbol = "circle"), ["gap", "span"].includes(o.displayBlanksAs || "") || (o.displayBlanksAs = "span"), ["standard", "marker", "filled"].includes(o.radarStyle || "") || (o.radarStyle = "standard"), o.lineDataSymbolSize = o.lineDataSymbolSize && !isNaN(o.lineDataSymbolSize) ? o.lineDataSymbolSize : 6, o.lineDataSymbolLineSize = o.lineDataSymbolLineSize && !isNaN(o.lineDataSymbolLineSize) ? et(o.lineDataSymbolLineSize) : et(0.75), o.layout && ["x", "y", "w", "h"].forEach((f) => {
|
|
3935
4016
|
const g = o.layout[f];
|
|
3936
4017
|
(isNaN(Number(g)) || g < 0 || g > 1) && (console.warn("Warning: chart.layout." + f + " can only be 0-1"), delete o.layout[f]);
|
|
3937
|
-
}), o.catGridLine = o.catGridLine || (o._type ===
|
|
3938
|
-
color: o.chartArea.border.color ||
|
|
3939
|
-
pt: o.chartArea.border.pt ||
|
|
4018
|
+
}), o.catGridLine = o.catGridLine || (o._type === W.SCATTER ? { color: "D9D9D9", size: 1 } : { style: "none" }), o.valGridLine = o.valGridLine || (o._type === W.SCATTER ? { color: "D9D9D9", size: 1 } : {}), o.serGridLine = o.serGridLine || (o._type === W.SCATTER ? { color: "D9D9D9", size: 1 } : { style: "none" }), i(o.catGridLine), i(o.valGridLine), i(o.serGridLine), oa(o.shadow), o.showDataTable = o.showDataTable || !o.showDataTable ? o.showDataTable : !1, o.showDataTableHorzBorder = o.showDataTableHorzBorder || !o.showDataTableHorzBorder ? o.showDataTableHorzBorder : !0, o.showDataTableVertBorder = o.showDataTableVertBorder || !o.showDataTableVertBorder ? o.showDataTableVertBorder : !0, o.showDataTableOutline = o.showDataTableOutline || !o.showDataTableOutline ? o.showDataTableOutline : !0, o.showDataTableKeys = o.showDataTableKeys || !o.showDataTableKeys ? o.showDataTableKeys : !0, o.showLabel = o.showLabel || !o.showLabel ? o.showLabel : !1, o.showLegend = o.showLegend || !o.showLegend ? o.showLegend : !1, o.showPercent = o.showPercent || !o.showPercent ? o.showPercent : !0, o.showTitle = o.showTitle || !o.showTitle ? o.showTitle : !1, o.showValue = o.showValue || !o.showValue ? o.showValue : !1, o.showLeaderLines = o.showLeaderLines || !o.showLeaderLines ? o.showLeaderLines : !1, o.catAxisLineShow = typeof o.catAxisLineShow < "u" ? o.catAxisLineShow : !0, o.valAxisLineShow = typeof o.valAxisLineShow < "u" ? o.valAxisLineShow : !0, o.serAxisLineShow = typeof o.serAxisLineShow < "u" ? o.serAxisLineShow : !0, o.v3DRotX = !isNaN(o.v3DRotX) && o.v3DRotX >= -90 && o.v3DRotX <= 90 ? o.v3DRotX : 30, o.v3DRotY = !isNaN(o.v3DRotY) && o.v3DRotY >= 0 && o.v3DRotY <= 360 ? o.v3DRotY : 30, o.v3DRAngAx = o.v3DRAngAx || !o.v3DRAngAx ? o.v3DRAngAx : !0, o.v3DPerspective = !isNaN(o.v3DPerspective) && o.v3DPerspective >= 0 && o.v3DPerspective <= 240 ? o.v3DPerspective : 30, o.barGapWidthPct = !isNaN(o.barGapWidthPct) && o.barGapWidthPct >= 0 && o.barGapWidthPct <= 1e3 ? o.barGapWidthPct : 150, o.barGapDepthPct = !isNaN(o.barGapDepthPct) && o.barGapDepthPct >= 0 && o.barGapDepthPct <= 1e3 ? o.barGapDepthPct : 150, o.chartColors = Array.isArray(o.chartColors) ? o.chartColors : o._type === W.PIE || o._type === W.DOUGHNUT ? zr : he, o.chartColorsOpacity = o.chartColorsOpacity && !isNaN(o.chartColorsOpacity) ? o.chartColorsOpacity : null, o.border = o.border && typeof o.border == "object" ? o.border : null, o.border && (!o.border.pt || isNaN(o.border.pt)) && (o.border.pt = te.pt), o.border && (!o.border.color || typeof o.border.color != "string") && (o.border.color = te.color), o.plotArea = o.plotArea || {}, o.plotArea.border = o.plotArea.border && typeof o.plotArea.border == "object" ? o.plotArea.border : null, o.plotArea.border && (!o.plotArea.border.pt || isNaN(o.plotArea.border.pt)) && (o.plotArea.border.pt = te.pt), o.plotArea.border && (!o.plotArea.border.color || typeof o.plotArea.border.color != "string") && (o.plotArea.border.color = te.color), o.border && (o.plotArea.border = o.border), o.plotArea.fill = o.plotArea.fill || { color: null, transparency: null }, o.fill && (o.plotArea.fill.color = o.fill), o.chartArea = o.chartArea || {}, o.chartArea.border = o.chartArea.border && typeof o.chartArea.border == "object" ? o.chartArea.border : null, o.chartArea.border && (o.chartArea.border = {
|
|
4019
|
+
color: o.chartArea.border.color || te.color,
|
|
4020
|
+
pt: o.chartArea.border.pt || te.pt
|
|
3940
4021
|
}), o.chartArea.roundedCorners = typeof o.chartArea.roundedCorners == "boolean" ? o.chartArea.roundedCorners : !0, o.dataBorder = o.dataBorder && typeof o.dataBorder == "object" ? o.dataBorder : null, o.dataBorder && (!o.dataBorder.pt || isNaN(o.dataBorder.pt)) && (o.dataBorder.pt = 0.75), o.dataBorder && o.dataBorder.color) {
|
|
3941
4022
|
const f = typeof o.dataBorder.color == "string" && o.dataBorder.color.length === 6 && /^[0-9A-Fa-f]{6}$/.test(o.dataBorder.color), g = Object.values(De).includes(o.dataBorder.color);
|
|
3942
4023
|
!f && !g && (o.dataBorder.color = "F9F9F9");
|
|
3943
4024
|
}
|
|
3944
|
-
return !o.dataLabelFormatCode && o._type ===
|
|
3945
|
-
rId:
|
|
4025
|
+
return !o.dataLabelFormatCode && o._type === W.SCATTER && (o.dataLabelFormatCode = "General"), !o.dataLabelFormatCode && (o._type === W.PIE || o._type === W.DOUGHNUT) && (o.dataLabelFormatCode = o.showPercent ? "0%" : "General"), o.dataLabelFormatCode = o.dataLabelFormatCode && typeof o.dataLabelFormatCode == "string" ? o.dataLabelFormatCode : "#,##0", !o.dataLabelFormatScatter && o._type === W.SCATTER && (o.dataLabelFormatScatter = "custom"), o.lineSize = typeof o.lineSize == "number" ? o.lineSize : 2, o.valAxisMajorUnit = typeof o.valAxisMajorUnit == "number" ? o.valAxisMajorUnit : null, o._type === W.AREA || o._type === W.BAR || o._type === W.BAR3D || o._type === W.LINE ? o.catAxisMultiLevelLabels = !!o.catAxisMultiLevelLabels : delete o.catAxisMultiLevelLabels, c._type = "chart", c.options = o, c.chartRid = Qt(t), t._relsChart.push({
|
|
4026
|
+
rId: Qt(t),
|
|
3946
4027
|
data: r,
|
|
3947
4028
|
opts: o,
|
|
3948
4029
|
type: o._type,
|
|
@@ -3951,7 +4032,7 @@ function Ga(t, n, e, A) {
|
|
|
3951
4032
|
Target: `/ppt/charts/chart${s}.xml`
|
|
3952
4033
|
}), t._slideObjects.push(c), c;
|
|
3953
4034
|
}
|
|
3954
|
-
function
|
|
4035
|
+
function Va(t, n) {
|
|
3955
4036
|
const e = {
|
|
3956
4037
|
_type: null,
|
|
3957
4038
|
text: null,
|
|
@@ -3960,7 +4041,7 @@ function Wa(t, n) {
|
|
|
3960
4041
|
imageRid: null,
|
|
3961
4042
|
hyperlink: null
|
|
3962
4043
|
}, A = n.x || 0, a = n.y || 0, i = n.w || 0, s = n.h || 0, c = n.sizing || null, l = n.hyperlink || "", r = n.data || "", o = n.path || "";
|
|
3963
|
-
let f =
|
|
4044
|
+
let f = Qt(t);
|
|
3964
4045
|
const g = n.objectName ? rt(n.objectName) : `Image ${t._slideObjects.filter((m) => m._type === nt.image).length}`;
|
|
3965
4046
|
if (!o && !r)
|
|
3966
4047
|
return console.error("ERROR: addImage() requires either 'data' or 'path' parameter!"), null;
|
|
@@ -3985,7 +4066,7 @@ function Wa(t, n) {
|
|
|
3985
4066
|
flipH: n.flipH || !1,
|
|
3986
4067
|
transparency: n.transparency || 0,
|
|
3987
4068
|
objectName: g,
|
|
3988
|
-
shadow:
|
|
4069
|
+
shadow: oa(n.shadow)
|
|
3989
4070
|
}, d === "svg")
|
|
3990
4071
|
t._relsMedia.push({
|
|
3991
4072
|
path: o || r + "png",
|
|
@@ -4028,10 +4109,10 @@ function Wa(t, n) {
|
|
|
4028
4109
|
}
|
|
4029
4110
|
t._slideObjects.push(e);
|
|
4030
4111
|
}
|
|
4031
|
-
function
|
|
4112
|
+
function Vr(t, n) {
|
|
4032
4113
|
const e = n.x || 0, A = n.y || 0, a = n.w || 2, i = n.h || 2, s = n.data || "", c = n.link || "", l = n.path || "", r = n.type || "audio";
|
|
4033
4114
|
let o = "";
|
|
4034
|
-
const f = n.cover ||
|
|
4115
|
+
const f = n.cover || Ur, g = n.objectName ? rt(n.objectName) : `Media ${t._slideObjects.filter((m) => m._type === nt.media).length}`, d = { _type: nt.media };
|
|
4035
4116
|
if (!l && !s && r !== "online")
|
|
4036
4117
|
throw new Error("addMedia() error: either `data` or `path` are required!");
|
|
4037
4118
|
if (s && !s.toLowerCase().includes("base64,"))
|
|
@@ -4041,7 +4122,7 @@ function Xr(t, n) {
|
|
|
4041
4122
|
if (r === "online" && !c)
|
|
4042
4123
|
throw new Error("addMedia() error: online videos require `link` value");
|
|
4043
4124
|
if (o = n.extn || (s ? s.split(";")[0].split("/")[1] : l.split(".").pop()) || "mp3", d.mtype = r, d.media = l || "preencoded.mov", d.options = {}, d.options.x = e, d.options.y = A, d.options.w = a, d.options.h = i, d.options.objectName = g, r === "online") {
|
|
4044
|
-
const m =
|
|
4125
|
+
const m = Qt(t);
|
|
4045
4126
|
t._relsMedia.push({
|
|
4046
4127
|
path: l || "preencoded" + o,
|
|
4047
4128
|
data: "dummy",
|
|
@@ -4054,11 +4135,11 @@ function Xr(t, n) {
|
|
|
4054
4135
|
data: f,
|
|
4055
4136
|
type: "image/png",
|
|
4056
4137
|
extn: "png",
|
|
4057
|
-
rId:
|
|
4138
|
+
rId: Qt(t),
|
|
4058
4139
|
Target: `../media/image-${t._slideNum}-${t._relsMedia.length + 1}.png`
|
|
4059
4140
|
});
|
|
4060
4141
|
} else {
|
|
4061
|
-
const m = t._relsMedia.filter((y) => y.path && y.path === l && y.type === r + "/" + o && !y.isDuplicate)[0], u =
|
|
4142
|
+
const m = t._relsMedia.filter((y) => y.path && y.path === l && y.type === r + "/" + o && !y.isDuplicate)[0], u = Qt(t);
|
|
4062
4143
|
t._relsMedia.push({
|
|
4063
4144
|
path: l || "preencoded" + o,
|
|
4064
4145
|
type: r + "/" + o,
|
|
@@ -4072,7 +4153,7 @@ function Xr(t, n) {
|
|
|
4072
4153
|
type: r + "/" + o,
|
|
4073
4154
|
extn: o,
|
|
4074
4155
|
data: s || "",
|
|
4075
|
-
rId:
|
|
4156
|
+
rId: Qt(t),
|
|
4076
4157
|
isDuplicate: !!m?.Target,
|
|
4077
4158
|
Target: m?.Target ? m.Target : `../media/media-${t._slideNum}-${t._relsMedia.length + 0}.${o}`
|
|
4078
4159
|
}), t._relsMedia.push({
|
|
@@ -4080,13 +4161,13 @@ function Xr(t, n) {
|
|
|
4080
4161
|
type: "image/png",
|
|
4081
4162
|
extn: "png",
|
|
4082
4163
|
data: f,
|
|
4083
|
-
rId:
|
|
4164
|
+
rId: Qt(t),
|
|
4084
4165
|
Target: `../media/image-${t._slideNum}-${t._relsMedia.length + 1}.png`
|
|
4085
4166
|
});
|
|
4086
4167
|
}
|
|
4087
4168
|
t._slideObjects.push(d);
|
|
4088
4169
|
}
|
|
4089
|
-
function
|
|
4170
|
+
function Yr(t, n) {
|
|
4090
4171
|
t._slideObjects.push({
|
|
4091
4172
|
_type: nt.notes,
|
|
4092
4173
|
text: [{ text: n }]
|
|
@@ -4105,7 +4186,7 @@ function je(t, n, e) {
|
|
|
4105
4186
|
throw new Error("Missing/Invalid shape parameter! Example: `addShape(pptxgen.shapes.LINE, {x:1, y:1, w:1, h:1});`");
|
|
4106
4187
|
const i = {
|
|
4107
4188
|
type: A.line.type || "solid",
|
|
4108
|
-
color: A.line.color ||
|
|
4189
|
+
color: A.line.color || Oa,
|
|
4109
4190
|
transparency: A.line.transparency || 0,
|
|
4110
4191
|
width: A.line.width || 1,
|
|
4111
4192
|
dashType: A.line.dashType || "solid",
|
|
@@ -4116,9 +4197,9 @@ function je(t, n, e) {
|
|
|
4116
4197
|
const s = i;
|
|
4117
4198
|
s.color = String(A.line), A.line = s;
|
|
4118
4199
|
}
|
|
4119
|
-
typeof A.lineSize == "number" && (A.line.width = A.lineSize), typeof A.lineDash == "string" && (A.line.dashType = A.lineDash), typeof A.lineHead == "string" && (A.line.beginArrowType = A.lineHead), typeof A.lineTail == "string" && (A.line.endArrowType = A.lineTail),
|
|
4200
|
+
typeof A.lineSize == "number" && (A.line.width = A.lineSize), typeof A.lineDash == "string" && (A.line.dashType = A.lineDash), typeof A.lineHead == "string" && (A.line.beginArrowType = A.lineHead), typeof A.lineTail == "string" && (A.line.endArrowType = A.lineTail), Ae(t, a), t._slideObjects.push(a);
|
|
4120
4201
|
}
|
|
4121
|
-
function
|
|
4202
|
+
function qr(t, n, e, A, a, i, s) {
|
|
4122
4203
|
const c = [t], l = e && typeof e == "object" ? e : {};
|
|
4123
4204
|
l.objectName = l.objectName ? rt(l.objectName) : `Table ${t._slideObjects.filter((g) => g._type === nt.table).length}`;
|
|
4124
4205
|
{
|
|
@@ -4140,14 +4221,14 @@ function Wr(t, n, e, A, a, i, s) {
|
|
|
4140
4221
|
const y = u.options.border;
|
|
4141
4222
|
!Array.isArray(y) && typeof y == "object" && (u.options.border = [y, y, y, y]), u.options.border[0] || (u.options.border[0] = { type: "none" }), u.options.border[1] || (u.options.border[1] = { type: "none" }), u.options.border[2] || (u.options.border[2] = { type: "none" }), u.options.border[3] || (u.options.border[3] = { type: "none" }), [0, 1, 2, 3].forEach((b) => {
|
|
4142
4223
|
u.options.border[b] = {
|
|
4143
|
-
type: u.options.border[b].type ||
|
|
4144
|
-
color: u.options.border[b].color ||
|
|
4145
|
-
pt: typeof u.options.border[b].pt == "number" ? u.options.border[b].pt :
|
|
4224
|
+
type: u.options.border[b].type || $t.type,
|
|
4225
|
+
color: u.options.border[b].color || $t.color,
|
|
4226
|
+
pt: typeof u.options.border[b].pt == "number" ? u.options.border[b].pt : $t.pt
|
|
4146
4227
|
};
|
|
4147
4228
|
}), d.push(u);
|
|
4148
4229
|
}) : (console.log("addTable: tableRows has a bad row. A row should be an array of cells. You provided:"), console.log(g)), r.push(d);
|
|
4149
|
-
}), l.x = it(l.x || (l.x === 0 ? 0 : ot / 2), "X", a), l.y = it(l.y || (l.y === 0 ? 0 : ot / 2), "Y", a), l.h && (l.h = it(l.h, "Y", a)), l.fontSize = l.fontSize || St, l.margin = l.margin === 0 || l.margin ? l.margin :
|
|
4150
|
-
l.border[g] = l.border[g] ? { type: l.border[g].type ||
|
|
4230
|
+
}), l.x = it(l.x || (l.x === 0 ? 0 : ot / 2), "X", a), l.y = it(l.y || (l.y === 0 ? 0 : ot / 2), "Y", a), l.h && (l.h = it(l.h, "Y", a)), l.fontSize = l.fontSize || St, l.margin = l.margin === 0 || l.margin ? l.margin : Ua, typeof l.margin == "number" && (l.margin = [Number(l.margin), Number(l.margin), Number(l.margin), Number(l.margin)]), JSON.stringify({ arrRows: r }).indexOf("hyperlink") === -1 && (l.color || (l.color = l.color || Dt)), typeof l.border == "string" ? (console.warn("addTable `border` option must be an object. Ex: `{border: {type:'none'}}`"), l.border = null) : Array.isArray(l.border) && [0, 1, 2, 3].forEach((g) => {
|
|
4231
|
+
l.border[g] = l.border[g] ? { type: l.border[g].type || $t.type, color: l.border[g].color || $t.color, pt: l.border[g].pt || $t.pt } : { type: "none" };
|
|
4151
4232
|
}), l.autoPage = typeof l.autoPage == "boolean" ? l.autoPage : !1, l.autoPageRepeatHeader = typeof l.autoPageRepeatHeader == "boolean" ? l.autoPageRepeatHeader : !1, l.autoPageHeaderRows = typeof l.autoPageHeaderRows < "u" && !isNaN(Number(l.autoPageHeaderRows)) ? Number(l.autoPageHeaderRows) : 1, l.autoPageLineWeight = typeof l.autoPageLineWeight < "u" && !isNaN(Number(l.autoPageLineWeight)) ? Number(l.autoPageLineWeight) : 0, l.autoPageLineWeight && (l.autoPageLineWeight > 1 ? l.autoPageLineWeight = 1 : l.autoPageLineWeight < -1 && (l.autoPageLineWeight = -1));
|
|
4152
4233
|
let o = ge;
|
|
4153
4234
|
if (A && typeof A._margin < "u" && (Array.isArray(A._margin) ? o = A._margin : isNaN(Number(A._margin)) || (o = [Number(A._margin), Number(A._margin), Number(A._margin), Number(A._margin)])), l.colW) {
|
|
@@ -4163,15 +4244,15 @@ function Wr(t, n, e, A, a, i, s) {
|
|
|
4163
4244
|
});
|
|
4164
4245
|
});
|
|
4165
4246
|
const f = [];
|
|
4166
|
-
return l && !l.autoPage ? (
|
|
4247
|
+
return l && !l.autoPage ? (Ae(t, r), t._slideObjects.push({
|
|
4167
4248
|
_type: nt.table,
|
|
4168
4249
|
arrTabRows: r,
|
|
4169
4250
|
options: Object.assign({}, l)
|
|
4170
|
-
})) : (l.autoPageRepeatHeader && (l._arrObjTabHeadRows = r.filter((g, d) => d < l.autoPageHeaderRows)),
|
|
4251
|
+
})) : (l.autoPageRepeatHeader && (l._arrObjTabHeadRows = r.filter((g, d) => d < l.autoPageHeaderRows)), Qa(r, l, a, A).forEach((g, d) => {
|
|
4171
4252
|
s(t._slideNum + d) || c.push(i({ masterName: A?._name || null })), d > 0 && (l.y = ct(l.autoPageSlideStartY || l.newSlideStartY || o[0]));
|
|
4172
4253
|
{
|
|
4173
4254
|
const m = s(t._slideNum + d);
|
|
4174
|
-
l.autoPage = !1,
|
|
4255
|
+
l.autoPage = !1, Ae(m, g.rows), m.addTable(g.rows, Object.assign({}, l)), d > 0 && f.push(m);
|
|
4175
4256
|
}
|
|
4176
4257
|
})), f;
|
|
4177
4258
|
}
|
|
@@ -4191,7 +4272,7 @@ function Pe(t, n, e, A) {
|
|
|
4191
4272
|
if (s.objectName = s.objectName ? rt(s.objectName) : `Text ${t._slideObjects.filter((c) => c._type === nt.text).length}`, s.shape === Yt.LINE) {
|
|
4192
4273
|
const c = {
|
|
4193
4274
|
type: s.line.type || "solid",
|
|
4194
|
-
color: s.line.color ||
|
|
4275
|
+
color: s.line.color || Oa,
|
|
4195
4276
|
transparency: s.line.transparency || 0,
|
|
4196
4277
|
width: s.line.width || 1,
|
|
4197
4278
|
dashType: s.line.dashType || "solid",
|
|
@@ -4204,18 +4285,18 @@ function Pe(t, n, e, A) {
|
|
|
4204
4285
|
}
|
|
4205
4286
|
typeof s.lineSize == "number" && (s.line.width = s.lineSize), typeof s.lineDash == "string" && (s.line.dashType = s.lineDash), typeof s.lineHead == "string" && (s.line.beginArrowType = s.lineHead), typeof s.lineTail == "string" && (s.line.endArrowType = s.lineTail);
|
|
4206
4287
|
}
|
|
4207
|
-
s.line = s.line || {}, s.lineSpacing = s.lineSpacing && !isNaN(s.lineSpacing) ? s.lineSpacing : null, s.lineSpacingMultiple = s.lineSpacingMultiple && !isNaN(s.lineSpacingMultiple) ? s.lineSpacingMultiple : null, s._bodyProp = s._bodyProp || {}, s._bodyProp.autoFit = s.autoFit || !1, s._bodyProp.anchor = s.placeholder ? null :
|
|
4288
|
+
s.line = s.line || {}, s.lineSpacing = s.lineSpacing && !isNaN(s.lineSpacing) ? s.lineSpacing : null, s.lineSpacingMultiple = s.lineSpacingMultiple && !isNaN(s.lineSpacingMultiple) ? s.lineSpacingMultiple : null, s._bodyProp = s._bodyProp || {}, s._bodyProp.autoFit = s.autoFit || !1, s._bodyProp.anchor = s.placeholder ? null : re.ctr, s._bodyProp.vert = s.vert || null, s._bodyProp.wrap = typeof s.wrap == "boolean" ? s.wrap : !0, (s.inset && !isNaN(Number(s.inset)) || s.inset === 0) && (s._bodyProp.lIns = ct(s.inset), s._bodyProp.rIns = ct(s.inset), s._bodyProp.tIns = ct(s.inset), s._bodyProp.bIns = ct(s.inset)), typeof s.underline == "boolean" && s.underline === !0 && (s.underline = { style: "sng" });
|
|
4208
4289
|
}
|
|
4209
|
-
return (s.align || "").toLowerCase().indexOf("c") === 0 ? s._bodyProp.align =
|
|
4290
|
+
return (s.align || "").toLowerCase().indexOf("c") === 0 ? s._bodyProp.align = ae.center : (s.align || "").toLowerCase().indexOf("l") === 0 ? s._bodyProp.align = ae.left : (s.align || "").toLowerCase().indexOf("r") === 0 ? s._bodyProp.align = ae.right : (s.align || "").toLowerCase().indexOf("j") === 0 && (s._bodyProp.align = ae.justify), (s.valign || "").toLowerCase().indexOf("b") === 0 ? s._bodyProp.anchor = re.b : (s.valign || "").toLowerCase().indexOf("m") === 0 ? s._bodyProp.anchor = re.ctr : (s.valign || "").toLowerCase().indexOf("t") === 0 && (s._bodyProp.anchor = re.t), oa(s.shadow), s;
|
|
4210
4291
|
}
|
|
4211
|
-
a.options = i(a.options), a.text.forEach((s) => s.options = i(s.options || {})),
|
|
4292
|
+
a.options = i(a.options), a.text.forEach((s) => s.options = i(s.options || {})), Ae(t, a.text || ""), t._slideObjects.push(a);
|
|
4212
4293
|
}
|
|
4213
|
-
function
|
|
4294
|
+
function Jr(t) {
|
|
4214
4295
|
(t._slideLayout._slideObjects || []).forEach((n) => {
|
|
4215
4296
|
n._type === nt.placeholder && t._slideObjects.filter((e) => e.options && e.options.placeholder === n.options.placeholder).length === 0 && Pe(t, [{ text: "" }], n.options, !1);
|
|
4216
4297
|
});
|
|
4217
4298
|
}
|
|
4218
|
-
function
|
|
4299
|
+
function Ya(t, n) {
|
|
4219
4300
|
var e;
|
|
4220
4301
|
if (n.bkgd && (n.background || (n.background = {}), typeof n.bkgd == "string" ? n.background.color = n.bkgd : (n.bkgd.data && (n.background.data = n.bkgd.data), n.bkgd.path && (n.background.path = n.bkgd.path), n.bkgd.src && (n.background.path = n.bkgd.src))), !((e = n.background) === null || e === void 0) && e.fill && (n.background.color = n.background.fill), t && (t.path || t.data)) {
|
|
4221
4302
|
t.path = t.path || "preencoded.png";
|
|
@@ -4232,23 +4313,23 @@ function Qa(t, n) {
|
|
|
4232
4313
|
}), n._bkgdImgRid = a;
|
|
4233
4314
|
}
|
|
4234
4315
|
}
|
|
4235
|
-
function
|
|
4316
|
+
function Ae(t, n, e) {
|
|
4236
4317
|
let A = [];
|
|
4237
4318
|
typeof n == "string" || typeof n == "number" || (Array.isArray(n) ? A = n : typeof n == "object" && (A = [n]), A.forEach((a, i) => {
|
|
4238
4319
|
if (e && e[i] && e[i].hyperlink && (a.options = Object.assign(Object.assign({}, a.options), e[i])), Array.isArray(a)) {
|
|
4239
4320
|
const s = [];
|
|
4240
4321
|
a.forEach((c) => {
|
|
4241
4322
|
c.options && !c.text.options && s.push(c.options);
|
|
4242
|
-
}),
|
|
4323
|
+
}), Ae(t, a, s);
|
|
4243
4324
|
} else if (Array.isArray(a.text))
|
|
4244
|
-
|
|
4325
|
+
Ae(t, a.text, e && e[i] ? [e[i]] : void 0);
|
|
4245
4326
|
else if (a && typeof a == "object" && a.options && a.options.hyperlink && !a.options.hyperlink._rId)
|
|
4246
4327
|
if (typeof a.options.hyperlink != "object")
|
|
4247
4328
|
console.log("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink: {url:'https://github.com'}` ");
|
|
4248
4329
|
else if (!a.options.hyperlink.url && !a.options.hyperlink.slide)
|
|
4249
4330
|
console.log("ERROR: 'hyperlink requires either: `url` or `slide`'");
|
|
4250
4331
|
else {
|
|
4251
|
-
const s =
|
|
4332
|
+
const s = Qt(t);
|
|
4252
4333
|
t._rels.push({
|
|
4253
4334
|
type: nt.hyperlink,
|
|
4254
4335
|
data: a.options.hyperlink.slide ? "slide" : "dummy",
|
|
@@ -4264,7 +4345,7 @@ function ie(t, n, e) {
|
|
|
4264
4345
|
});
|
|
4265
4346
|
}));
|
|
4266
4347
|
}
|
|
4267
|
-
class
|
|
4348
|
+
class Hr {
|
|
4268
4349
|
constructor(n) {
|
|
4269
4350
|
var e;
|
|
4270
4351
|
this.addSlide = n.addSlide, this.getSlide = n.getSlide, this._name = `Slide ${n.slideNumber}`, this._presLayout = n.presLayout, this._rId = n.slideRId, this._rels = [], this._relsChart = [], this._relsMedia = [], this._setSlideNum = n.setSlideNum, this._slideId = n.slideId, this._slideLayout = n.slideLayout || null, this._slideNum = n.slideNumber, this._slideObjects = [], this._slideNumberProps = !((e = this._slideLayout) === null || e === void 0) && e._slideNumberProps ? this._slideLayout._slideNumberProps : null;
|
|
@@ -4276,7 +4357,7 @@ class Vr {
|
|
|
4276
4357
|
return this._bkgd;
|
|
4277
4358
|
}
|
|
4278
4359
|
set background(n) {
|
|
4279
|
-
this._background = n, n &&
|
|
4360
|
+
this._background = n, n && Ya(n, this);
|
|
4280
4361
|
}
|
|
4281
4362
|
get background() {
|
|
4282
4363
|
return this._background;
|
|
@@ -4314,7 +4395,7 @@ class Vr {
|
|
|
4314
4395
|
*/
|
|
4315
4396
|
addChart(n, e, A) {
|
|
4316
4397
|
const a = A || {};
|
|
4317
|
-
return a._type = n,
|
|
4398
|
+
return a._type = n, Wa(this, n, e, A), this;
|
|
4318
4399
|
}
|
|
4319
4400
|
/**
|
|
4320
4401
|
* Add image to Slide
|
|
@@ -4322,7 +4403,7 @@ class Vr {
|
|
|
4322
4403
|
* @return {Slide} this Slide
|
|
4323
4404
|
*/
|
|
4324
4405
|
addImage(n) {
|
|
4325
|
-
return
|
|
4406
|
+
return Va(this, n), this;
|
|
4326
4407
|
}
|
|
4327
4408
|
/**
|
|
4328
4409
|
* Add media (audio/video) to Slide
|
|
@@ -4330,7 +4411,7 @@ class Vr {
|
|
|
4330
4411
|
* @return {Slide} this Slide
|
|
4331
4412
|
*/
|
|
4332
4413
|
addMedia(n) {
|
|
4333
|
-
return
|
|
4414
|
+
return Vr(this, n), this;
|
|
4334
4415
|
}
|
|
4335
4416
|
/**
|
|
4336
4417
|
* Add speaker notes to Slide
|
|
@@ -4339,7 +4420,7 @@ class Vr {
|
|
|
4339
4420
|
* @return {Slide} this Slide
|
|
4340
4421
|
*/
|
|
4341
4422
|
addNotes(n) {
|
|
4342
|
-
return
|
|
4423
|
+
return Yr(this, n), this;
|
|
4343
4424
|
}
|
|
4344
4425
|
/**
|
|
4345
4426
|
* Add shape to Slide
|
|
@@ -4357,7 +4438,7 @@ class Vr {
|
|
|
4357
4438
|
* @return {Slide} this Slide
|
|
4358
4439
|
*/
|
|
4359
4440
|
addTable(n, e) {
|
|
4360
|
-
return this._newAutoPagedSlides =
|
|
4441
|
+
return this._newAutoPagedSlides = qr(this, n, e, this._slideLayout, this._presLayout, this.addSlide, this.getSlide), this;
|
|
4361
4442
|
}
|
|
4362
4443
|
/**
|
|
4363
4444
|
* Add text to Slide
|
|
@@ -4369,12 +4450,12 @@ class Vr {
|
|
|
4369
4450
|
return Pe(this, typeof n == "string" || typeof n == "number" ? [{ text: n, options: e }] : n, e, !1), this;
|
|
4370
4451
|
}
|
|
4371
4452
|
}
|
|
4372
|
-
function
|
|
4453
|
+
function jr(t, n) {
|
|
4373
4454
|
return Nt(this, void 0, void 0, function* () {
|
|
4374
4455
|
const e = t.data;
|
|
4375
4456
|
return yield new Promise((A, a) => {
|
|
4376
4457
|
var i, s;
|
|
4377
|
-
const c = new
|
|
4458
|
+
const c = new za(), l = (e.length - 1) * 2 + 1, r = ((s = (i = e[0]) === null || i === void 0 ? void 0 : i.labels) === null || s === void 0 ? void 0 : s.length) > 1;
|
|
4378
4459
|
c.folder("_rels"), c.folder("docProps"), c.folder("xl/_rels"), c.folder("xl/tables"), c.folder("xl/theme"), c.folder("xl/worksheets"), c.folder("xl/worksheets/_rels"), c.file("[Content_Types].xml", `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"> <Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/> <Default Extension="xml" ContentType="application/xml"/> <Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/> <Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/> <Override PartName="/xl/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/> <Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"/> <Override PartName="/xl/sharedStrings.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"/> <Override PartName="/xl/tables/table1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml"/> <Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/> <Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/></Types>
|
|
4379
4460
|
`), c.file("_rels/.rels", `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>
|
|
4380
4461
|
`), c.file("docProps/app.xml", `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Application>Microsoft Macintosh Excel</Application><DocSecurity>0</DocSecurity><ScaleCrop>false</ScaleCrop><HeadingPairs><vt:vector size="2" baseType="variant"><vt:variant><vt:lpstr>Worksheets</vt:lpstr></vt:variant><vt:variant><vt:i4>1</vt:i4></vt:variant></vt:vector></HeadingPairs><TitlesOfParts><vt:vector size="1" baseType="lpstr"><vt:lpstr>Sheet1</vt:lpstr></vt:vector></TitlesOfParts><Company></Company><LinksUpToDate>false</LinksUpToDate><SharedDoc>false</SharedDoc><HyperlinksChanged>false</HyperlinksChanged><AppVersion>16.0300</AppVersion></Properties>
|
|
@@ -4384,9 +4465,9 @@ function Yr(t, n) {
|
|
|
4384
4465
|
`);
|
|
4385
4466
|
{
|
|
4386
4467
|
let o = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
|
4387
|
-
if (t.opts._type ===
|
|
4468
|
+
if (t.opts._type === W.BUBBLE || t.opts._type === W.BUBBLE3D)
|
|
4388
4469
|
o += `<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="${l}" uniqueCount="${l}">`;
|
|
4389
|
-
else if (t.opts._type ===
|
|
4470
|
+
else if (t.opts._type === W.SCATTER)
|
|
4390
4471
|
o += `<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="${e.length}" uniqueCount="${e.length}">`;
|
|
4391
4472
|
else if (r) {
|
|
4392
4473
|
let f = e.length;
|
|
@@ -4395,11 +4476,11 @@ function Yr(t, n) {
|
|
|
4395
4476
|
const f = e.length + e[0].labels.length * e[0].labels[0].length + e[0].labels.length, g = e.length + e[0].labels.length * e[0].labels[0].length + 1;
|
|
4396
4477
|
o += `<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="${f}" uniqueCount="${g}">`, o += '<si><t xml:space="preserve"></t></si>';
|
|
4397
4478
|
}
|
|
4398
|
-
t.opts._type ===
|
|
4479
|
+
t.opts._type === W.BUBBLE || t.opts._type === W.BUBBLE3D ? e.forEach((f, g) => {
|
|
4399
4480
|
g === 0 ? o += "<si><t>X-Axis</t></si>" : (o += `<si><t>${rt(f.name || `Y-Axis${g}`)}</t></si>`, o += `<si><t>${rt(`Size${g}`)}</t></si>`);
|
|
4400
4481
|
}) : e.forEach((f) => {
|
|
4401
4482
|
o += `<si><t>${rt((f.name || " ").replace("X-Axis", "X-Values"))}</t></si>`;
|
|
4402
|
-
}), t.opts._type !==
|
|
4483
|
+
}), t.opts._type !== W.BUBBLE && t.opts._type !== W.BUBBLE3D && t.opts._type !== W.SCATTER && e[0].labels.slice().reverse().forEach((f) => {
|
|
4403
4484
|
f.filter((g) => g && g !== "").forEach((g) => {
|
|
4404
4485
|
o += `<si><t>${rt(g)}</t></si>`;
|
|
4405
4486
|
});
|
|
@@ -4408,13 +4489,13 @@ function Yr(t, n) {
|
|
|
4408
4489
|
}
|
|
4409
4490
|
{
|
|
4410
4491
|
let o = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
|
4411
|
-
if (t.opts._type ===
|
|
4492
|
+
if (t.opts._type === W.BUBBLE || t.opts._type === W.BUBBLE3D) {
|
|
4412
4493
|
o += `<table xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" id="1" name="Table1" displayName="Table1" ref="A1:${gt(l)}${l}" totalsRowShown="0">`, o += `<tableColumns count="${l}">`;
|
|
4413
4494
|
let f = 1;
|
|
4414
4495
|
e.forEach((g, d) => {
|
|
4415
4496
|
d === 0 ? o += `<tableColumn id="${d + 1}" name="X-Values"/>` : (o += `<tableColumn id="${d + f}" name="${g.name}"/>`, f++, o += `<tableColumn id="${d + f}" name="Size${d}"/>`);
|
|
4416
4497
|
});
|
|
4417
|
-
} else t.opts._type ===
|
|
4498
|
+
} else t.opts._type === W.SCATTER ? (o += `<table xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" id="1" name="Table1" displayName="Table1" ref="A1:${gt(e.length)}${e[0].values.length + 1}" totalsRowShown="0">`, o += `<tableColumns count="${e.length}">`, e.forEach((f, g) => {
|
|
4418
4499
|
o += `<tableColumn id="${g + 1}" name="${g === 0 ? "X-Values" : "Y-Value "}${g}"/>`;
|
|
4419
4500
|
})) : (o += `<table xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" id="1" name="Table1" displayName="Table1" ref="A1:${gt(e.length + e[0].labels.length)}${e[0].labels[0].length + 1}'" totalsRowShown="0">`, o += `<tableColumns count="${e.length + e[0].labels.length}">`, e[0].labels.forEach((f, g) => {
|
|
4420
4501
|
o += `<tableColumn id="${g + 1}" name="Column${g + 1}"/>`;
|
|
@@ -4425,7 +4506,7 @@ function Yr(t, n) {
|
|
|
4425
4506
|
}
|
|
4426
4507
|
{
|
|
4427
4508
|
let o = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
|
4428
|
-
if (o += '<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac">', t.opts._type ===
|
|
4509
|
+
if (o += '<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac">', t.opts._type === W.BUBBLE || t.opts._type === W.BUBBLE3D ? o += `<dimension ref="A1:${gt(l)}${e[0].values.length + 1}"/>` : t.opts._type === W.SCATTER ? o += `<dimension ref="A1:${gt(e.length)}${e[0].values.length + 1}"/>` : o += `<dimension ref="A1:${gt(e.length + 1)}${e[0].values.length + 1}"/>`, o += '<sheetViews><sheetView tabSelected="1" workbookViewId="0"><selection activeCell="B1" sqref="B1"/></sheetView></sheetViews>', o += '<sheetFormatPr baseColWidth="10" defaultRowHeight="16"/>', t.opts._type === W.BUBBLE || t.opts._type === W.BUBBLE3D) {
|
|
4429
4510
|
o += "<sheetData>", o += `<row r="1" spans="1:${l}">`, o += '<c r="A1" t="s"><v>0</v></c>';
|
|
4430
4511
|
for (let f = 1; f < l; f++)
|
|
4431
4512
|
o += `<c r="${gt(f + 1)}1" t="s"><v>${f}</v></c>`;
|
|
@@ -4436,7 +4517,7 @@ function Yr(t, n) {
|
|
|
4436
4517
|
o += `<c r="${gt(d)}${g + 2}"><v>${e[m].values[g] || ""}</v></c>`, d++, o += `<c r="${gt(d)}${g + 2}"><v>${e[m].sizes[g] || ""}</v></c>`, d++;
|
|
4437
4518
|
o += "</row>";
|
|
4438
4519
|
});
|
|
4439
|
-
} else if (t.opts._type ===
|
|
4520
|
+
} else if (t.opts._type === W.SCATTER) {
|
|
4440
4521
|
o += "<sheetData>", o += `<row r="1" spans="1:${e.length}">`;
|
|
4441
4522
|
for (let f = 0; f < e.length; f++)
|
|
4442
4523
|
o += `<c r="${gt(f + 1)}1" t="s"><v>${f}</v></c>`;
|
|
@@ -4487,62 +4568,62 @@ function Yr(t, n) {
|
|
|
4487
4568
|
`, c.file("xl/worksheets/sheet1.xml", o);
|
|
4488
4569
|
}
|
|
4489
4570
|
c.generateAsync({ type: "base64" }).then((o) => {
|
|
4490
|
-
n.file(`ppt/embeddings/Microsoft_Excel_Worksheet${t.globalId}.xlsx`, o, { base64: !0 }), n.file("ppt/charts/_rels/" + t.fileName + ".rels", `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/package" Target="../embeddings/Microsoft_Excel_Worksheet${t.globalId}.xlsx"/></Relationships>`), n.file(`ppt/charts/${t.fileName}`,
|
|
4571
|
+
n.file(`ppt/embeddings/Microsoft_Excel_Worksheet${t.globalId}.xlsx`, o, { base64: !0 }), n.file("ppt/charts/_rels/" + t.fileName + ".rels", `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/package" Target="../embeddings/Microsoft_Excel_Worksheet${t.globalId}.xlsx"/></Relationships>`), n.file(`ppt/charts/${t.fileName}`, Kr(t)), A("");
|
|
4491
4572
|
}).catch((o) => {
|
|
4492
4573
|
a(o);
|
|
4493
4574
|
});
|
|
4494
4575
|
});
|
|
4495
4576
|
});
|
|
4496
4577
|
}
|
|
4497
|
-
function
|
|
4578
|
+
function Kr(t) {
|
|
4498
4579
|
var n, e, A, a;
|
|
4499
4580
|
let i = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>', s = !1;
|
|
4500
|
-
if (i += '<c:chartSpace xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">', i += '<c:date1904 val="0"/>', i += `<c:roundedCorners val="${t.opts.chartArea.roundedCorners ? "1" : "0"}"/>`, i += "<c:chart>", t.opts.showTitle ? (i +=
|
|
4581
|
+
if (i += '<c:chartSpace xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">', i += '<c:date1904 val="0"/>', i += `<c:roundedCorners val="${t.opts.chartArea.roundedCorners ? "1" : "0"}"/>`, i += "<c:chart>", t.opts.showTitle ? (i += Te({
|
|
4501
4582
|
title: t.opts.title || "Chart Title",
|
|
4502
4583
|
color: t.opts.titleColor,
|
|
4503
4584
|
fontFace: t.opts.titleFontFace,
|
|
4504
|
-
fontSize: t.opts.titleFontSize ||
|
|
4585
|
+
fontSize: t.opts.titleFontSize || _r,
|
|
4505
4586
|
titleAlign: t.opts.titleAlign,
|
|
4506
4587
|
titleBold: t.opts.titleBold,
|
|
4507
4588
|
titlePos: t.opts.titlePos,
|
|
4508
4589
|
titleRotate: t.opts.titleRotate
|
|
4509
|
-
}, t.opts.x, t.opts.y), i += '<c:autoTitleDeleted val="0"/>') : i += '<c:autoTitleDeleted val="1"/>', t.opts._type ===
|
|
4510
|
-
const l = Object.assign(Object.assign({}, t.opts), c.options), r = l.secondaryValAxis ? Be :
|
|
4511
|
-
s = s || l.secondaryValAxis, i +=
|
|
4512
|
-
}) : i +=
|
|
4590
|
+
}, t.opts.x, t.opts.y), i += '<c:autoTitleDeleted val="0"/>') : i += '<c:autoTitleDeleted val="1"/>', t.opts._type === W.BAR3D && (i += `<c:view3D><c:rotX val="${t.opts.v3DRotX}"/><c:rotY val="${t.opts.v3DRotY}"/><c:rAngAx val="${t.opts.v3DRAngAx ? 1 : 0}"/><c:perspective val="${t.opts.v3DPerspective}"/></c:view3D>`), i += "<c:plotArea>", t.opts.layout ? (i += "<c:layout>", i += " <c:manualLayout>", i += ' <c:layoutTarget val="inner" />', i += ' <c:xMode val="edge" />', i += ' <c:yMode val="edge" />', i += ' <c:x val="' + (t.opts.layout.x || 0) + '" />', i += ' <c:y val="' + (t.opts.layout.y || 0) + '" />', i += ' <c:w val="' + (t.opts.layout.w || 1) + '" />', i += ' <c:h val="' + (t.opts.layout.h || 1) + '" />', i += " </c:manualLayout>", i += "</c:layout>") : i += "<c:layout/>", Array.isArray(t.opts._type) ? t.opts._type.forEach((c) => {
|
|
4591
|
+
const l = Object.assign(Object.assign({}, t.opts), c.options), r = l.secondaryValAxis ? Be : Gt, o = l.secondaryCatAxis ? We : fe;
|
|
4592
|
+
s = s || l.secondaryValAxis, i += ba(c.type, c.data, l, r, o);
|
|
4593
|
+
}) : i += ba(t.opts._type, t.data, t.opts, Gt, fe), t.opts._type !== W.PIE && t.opts._type !== W.DOUGHNUT) {
|
|
4513
4594
|
if (t.opts.valAxes && t.opts.valAxes.length > 1 && !s)
|
|
4514
4595
|
throw new Error("Secondary axis must be used by one of the multiple charts");
|
|
4515
4596
|
if (t.opts.catAxes) {
|
|
4516
4597
|
if (!t.opts.valAxes || t.opts.valAxes.length !== t.opts.catAxes.length)
|
|
4517
4598
|
throw new Error("There must be the same number of value and category axes.");
|
|
4518
|
-
i += Oe(Object.assign(Object.assign({}, t.opts), t.opts.catAxes[0]), fe,
|
|
4599
|
+
i += Oe(Object.assign(Object.assign({}, t.opts), t.opts.catAxes[0]), fe, Gt);
|
|
4519
4600
|
} else
|
|
4520
|
-
i += Oe(t.opts, fe,
|
|
4521
|
-
t.opts.valAxes ? (i += Xe(Object.assign(Object.assign({}, t.opts), t.opts.valAxes[0]),
|
|
4601
|
+
i += Oe(t.opts, fe, Gt);
|
|
4602
|
+
t.opts.valAxes ? (i += Xe(Object.assign(Object.assign({}, t.opts), t.opts.valAxes[0]), Gt), t.opts.valAxes[1] && (i += Xe(Object.assign(Object.assign({}, t.opts), t.opts.valAxes[1]), Be))) : (i += Xe(t.opts, Gt), t.opts._type === W.BAR3D && (i += Zr(t.opts, Xa, Gt))), !((n = t.opts) === null || n === void 0) && n.catAxes && (!((e = t.opts) === null || e === void 0) && e.catAxes[1]) && (i += Oe(Object.assign(Object.assign({}, t.opts), t.opts.catAxes[1]), We, Be));
|
|
4522
4603
|
}
|
|
4523
|
-
return t.opts.showDataTable && (i += "<c:dTable>", i += ` <c:showHorzBorder val="${t.opts.showDataTableHorzBorder ? 1 : 0}"/>`, i += ` <c:showVertBorder val="${t.opts.showDataTableVertBorder ? 1 : 0}"/>`, i += ` <c:showOutline val="${t.opts.showDataTableOutline ? 1 : 0}"/>`, i += ` <c:showKeys val="${t.opts.showDataTableKeys ? 1 : 0}"/>`, i += " <c:spPr>", i += " <a:noFill/>", i += ' <a:ln w="9525" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="tx1"><a:lumMod val="15000"/><a:lumOff val="85000"/></a:schemeClr></a:solidFill><a:round/></a:ln>', i += " <a:effectLst/>", i += " </c:spPr>", i += " <c:txPr>", i += ' <a:bodyPr rot="0" spcFirstLastPara="1" vertOverflow="ellipsis" vert="horz" wrap="square" anchor="ctr" anchorCtr="1"/>', i += " <a:lstStyle/>", i += " <a:p>", i += ' <a:pPr rtl="0">', i += ` <a:defRPr sz="${Math.round((t.opts.dataTableFontSize || St) * 100)}" b="0" i="0" u="none" strike="noStrike" kern="1200" baseline="0">`, i += ' <a:solidFill><a:schemeClr val="tx1"><a:lumMod val="65000"/><a:lumOff val="35000"/></a:schemeClr></a:solidFill>', i += ' <a:latin typeface="+mn-lt"/>', i += ' <a:ea typeface="+mn-ea"/>', i += ' <a:cs typeface="+mn-cs"/>', i += " </a:defRPr>", i += " </a:pPr>", i += ' <a:endParaRPr lang="en-US"/>', i += " </a:p>", i += " </c:txPr>", i += "</c:dTable>"), i += " <c:spPr>", i += !((A = t.opts.plotArea.fill) === null || A === void 0) && A.color ?
|
|
4604
|
+
return t.opts.showDataTable && (i += "<c:dTable>", i += ` <c:showHorzBorder val="${t.opts.showDataTableHorzBorder ? 1 : 0}"/>`, i += ` <c:showVertBorder val="${t.opts.showDataTableVertBorder ? 1 : 0}"/>`, i += ` <c:showOutline val="${t.opts.showDataTableOutline ? 1 : 0}"/>`, i += ` <c:showKeys val="${t.opts.showDataTableKeys ? 1 : 0}"/>`, i += " <c:spPr>", i += " <a:noFill/>", i += ' <a:ln w="9525" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="tx1"><a:lumMod val="15000"/><a:lumOff val="85000"/></a:schemeClr></a:solidFill><a:round/></a:ln>', i += " <a:effectLst/>", i += " </c:spPr>", i += " <c:txPr>", i += ' <a:bodyPr rot="0" spcFirstLastPara="1" vertOverflow="ellipsis" vert="horz" wrap="square" anchor="ctr" anchorCtr="1"/>', i += " <a:lstStyle/>", i += " <a:p>", i += ' <a:pPr rtl="0">', i += ` <a:defRPr sz="${Math.round((t.opts.dataTableFontSize || St) * 100)}" b="0" i="0" u="none" strike="noStrike" kern="1200" baseline="0">`, i += ' <a:solidFill><a:schemeClr val="tx1"><a:lumMod val="65000"/><a:lumOff val="35000"/></a:schemeClr></a:solidFill>', i += ' <a:latin typeface="+mn-lt"/>', i += ' <a:ea typeface="+mn-ea"/>', i += ' <a:cs typeface="+mn-cs"/>', i += " </a:defRPr>", i += " </a:pPr>", i += ' <a:endParaRPr lang="en-US"/>', i += " </a:p>", i += " </c:txPr>", i += "</c:dTable>"), i += " <c:spPr>", i += !((A = t.opts.plotArea.fill) === null || A === void 0) && A.color ? Tt(t.opts.plotArea.fill) : "<a:noFill/>", i += t.opts.plotArea.border ? `<a:ln w="${et(t.opts.plotArea.border.pt)}" cap="flat">${Tt(t.opts.plotArea.border.color)}</a:ln>` : "<a:ln><a:noFill/></a:ln>", i += " <a:effectLst/>", i += " </c:spPr>", i += "</c:plotArea>", t.opts.showLegend && (i += "<c:legend>", i += '<c:legendPos val="' + t.opts.legendPos + '"/>', i += '<c:overlay val="0"/>', (t.opts.legendFontFace || t.opts.legendFontSize || t.opts.legendColor) && (i += "<c:txPr>", i += " <a:bodyPr/>", i += " <a:lstStyle/>", i += " <a:p>", i += " <a:pPr>", i += t.opts.legendFontSize ? `<a:defRPr sz="${Math.round(Number(t.opts.legendFontSize) * 100)}">` : "<a:defRPr>", t.opts.legendColor && (i += Tt(t.opts.legendColor)), t.opts.legendFontFace && (i += '<a:latin typeface="' + t.opts.legendFontFace + '"/>'), t.opts.legendFontFace && (i += '<a:cs typeface="' + t.opts.legendFontFace + '"/>'), i += " </a:defRPr>", i += " </a:pPr>", i += ' <a:endParaRPr lang="en-US"/>', i += " </a:p>", i += "</c:txPr>"), i += "</c:legend>"), i += ' <c:plotVisOnly val="1"/>', i += ' <c:dispBlanksAs val="' + t.opts.displayBlanksAs + '"/>', t.opts._type === W.SCATTER && (i += '<c:showDLblsOverMax val="1"/>'), i += "</c:chart>", i += "<c:spPr>", i += !((a = t.opts.chartArea.fill) === null || a === void 0) && a.color ? Tt(t.opts.chartArea.fill) : "<a:noFill/>", i += t.opts.chartArea.border ? `<a:ln w="${et(t.opts.chartArea.border.pt)}" cap="flat">${Tt(t.opts.chartArea.border.color)}</a:ln>` : "<a:ln><a:noFill/></a:ln>", i += " <a:effectLst/>", i += "</c:spPr>", i += '<c:externalData r:id="rId1"><c:autoUpdate val="0"/></c:externalData>', i += "</c:chartSpace>", i;
|
|
4524
4605
|
}
|
|
4525
|
-
function
|
|
4606
|
+
function ba(t, n, e, A, a, i) {
|
|
4526
4607
|
let s = -1, c = 1, l = null, r = "";
|
|
4527
4608
|
switch (t) {
|
|
4528
|
-
case
|
|
4529
|
-
case
|
|
4530
|
-
case
|
|
4531
|
-
case
|
|
4532
|
-
case
|
|
4533
|
-
r += `<c:${t}Chart>`, t ===
|
|
4609
|
+
case W.AREA:
|
|
4610
|
+
case W.BAR:
|
|
4611
|
+
case W.BAR3D:
|
|
4612
|
+
case W.LINE:
|
|
4613
|
+
case W.RADAR:
|
|
4614
|
+
r += `<c:${t}Chart>`, t === W.AREA && e.barGrouping === "stacked" && (r += '<c:grouping val="' + e.barGrouping + '"/>'), (t === W.BAR || t === W.BAR3D) && (r += '<c:barDir val="' + e.barDir + '"/>', r += '<c:grouping val="' + (e.barGrouping || "clustered") + '"/>'), t === W.RADAR && (r += '<c:radarStyle val="' + e.radarStyle + '"/>'), r += '<c:varyColors val="0"/>', n.forEach((o) => {
|
|
4534
4615
|
var f;
|
|
4535
4616
|
s++, r += "<c:ser>", r += ` <c:idx val="${o._dataIndex}"/><c:order val="${o._dataIndex}"/>`, r += " <c:tx>", r += " <c:strRef>", r += " <c:f>Sheet1!$" + gt(o._dataIndex + o.labels.length + 1) + "$1</c:f>", r += ' <c:strCache><c:ptCount val="1"/><c:pt idx="0"><c:v>' + rt(o.name) + "</c:v></c:pt></c:strCache>", r += " </c:strRef>", r += " </c:tx>";
|
|
4536
4617
|
const g = e.chartColors ? e.chartColors[s % e.chartColors.length] : null;
|
|
4537
|
-
r += " <c:spPr>", g === "transparent" ? r += "<a:noFill/>" : e.chartColorsOpacity ? r += "<a:solidFill>" + ht(g, `<a:alpha val="${Math.round(e.chartColorsOpacity * 1e3)}"/>`) + "</a:solidFill>" : r += "<a:solidFill>" + ht(g) + "</a:solidFill>", t ===
|
|
4618
|
+
r += " <c:spPr>", g === "transparent" ? r += "<a:noFill/>" : e.chartColorsOpacity ? r += "<a:solidFill>" + ht(g, `<a:alpha val="${Math.round(e.chartColorsOpacity * 1e3)}"/>`) + "</a:solidFill>" : r += "<a:solidFill>" + ht(g) + "</a:solidFill>", t === W.LINE || t === W.RADAR ? e.lineSize === 0 ? r += "<a:ln><a:noFill/></a:ln>" : (r += `<a:ln w="${et(e.lineSize)}" cap="${ke(e.lineCap)}"><a:solidFill>${ht(g)}</a:solidFill>`, r += '<a:prstDash val="' + (e.lineDash || "solid") + '"/><a:round/></a:ln>') : e.dataBorder && (r += `<a:ln w="${et(e.dataBorder.pt)}" cap="${ke(e.lineCap)}"><a:solidFill>${ht(e.dataBorder.color)}</a:solidFill><a:prstDash val="solid"/><a:round/></a:ln>`), r += Ht(e.shadow, Jt), r += " </c:spPr>", r += ' <c:invertIfNegative val="0"/>', t !== W.RADAR && (r += "<c:dLbls>", r += `<c:numFmt formatCode="${rt(e.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, e.dataLabelBkgrdColors && (r += `<c:spPr><a:solidFill>${ht(g)}</a:solidFill></c:spPr>`), r += "<c:txPr><a:bodyPr/><a:lstStyle/><a:p><a:pPr>", r += `<a:defRPr b="${e.dataLabelFontBold ? 1 : 0}" i="${e.dataLabelFontItalic ? 1 : 0}" strike="noStrike" sz="${Math.round((e.dataLabelFontSize || St) * 100)}" u="none">`, r += `<a:solidFill>${ht(e.dataLabelColor || Dt)}</a:solidFill>`, r += `<a:latin typeface="${e.dataLabelFontFace || "Arial"}"/>`, r += "</a:defRPr></a:pPr></a:p></c:txPr>", e.dataLabelPosition && (r += `<c:dLblPos val="${e.dataLabelPosition}"/>`), r += '<c:showLegendKey val="0"/>', r += `<c:showVal val="${e.showValue ? "1" : "0"}"/>`, r += `<c:showCatName val="0"/><c:showSerName val="${e.showSerName ? "1" : "0"}"/><c:showPercent val="0"/><c:showBubbleSize val="0"/>`, r += `<c:showLeaderLines val="${e.showLeaderLines ? "1" : "0"}"/>`, r += "</c:dLbls>"), (t === W.LINE || t === W.RADAR) && (r += "<c:marker>", r += ' <c:symbol val="' + e.lineDataSymbol + '"/>', e.lineDataSymbolSize && (r += `<c:size val="${e.lineDataSymbolSize}"/>`), r += " <c:spPr>", r += ` <a:solidFill>${ht(e.chartColors[o._dataIndex + 1 > e.chartColors.length ? Math.floor(Math.random() * e.chartColors.length) : o._dataIndex])}</a:solidFill>`, r += ` <a:ln w="${e.lineDataSymbolLineSize}" cap="flat"><a:solidFill>${ht(e.lineDataSymbolLineColor || g)}</a:solidFill><a:prstDash val="solid"/><a:round/></a:ln>`, r += " <a:effectLst/>", r += " </c:spPr>", r += "</c:marker>"), (t === W.BAR || t === W.BAR3D) && n.length === 1 && (e.chartColors && e.chartColors !== he && e.chartColors.length > 1 || !((f = e.invertedColors) === null || f === void 0) && f.length) && o.values.forEach((d, m) => {
|
|
4538
4619
|
const u = d < 0 ? e.invertedColors || e.chartColors || he : e.chartColors || [];
|
|
4539
|
-
r += " <c:dPt>", r += ` <c:idx val="${m}"/>`, r += ' <c:invertIfNegative val="0"/>', r += ' <c:bubble3D val="0"/>', r += " <c:spPr>", e.lineSize === 0 ? r += "<a:ln><a:noFill/></a:ln>" : t ===
|
|
4620
|
+
r += " <c:dPt>", r += ` <c:idx val="${m}"/>`, r += ' <c:invertIfNegative val="0"/>', r += ' <c:bubble3D val="0"/>', r += " <c:spPr>", e.lineSize === 0 ? r += "<a:ln><a:noFill/></a:ln>" : t === W.BAR ? (r += "<a:solidFill>", r += ' <a:srgbClr val="' + u[m % u.length] + '"/>', r += "</a:solidFill>") : (r += "<a:ln>", r += " <a:solidFill>", r += ' <a:srgbClr val="' + u[m % u.length] + '"/>', r += " </a:solidFill>", r += "</a:ln>"), r += Ht(e.shadow, Jt), r += " </c:spPr>", r += " </c:dPt>";
|
|
4540
4621
|
}), r += "<c:cat>", e.catLabelFormatCode ? (r += " <c:numRef>", r += ` <c:f>Sheet1!$A$2:$A$${o.labels[0].length + 1}</c:f>`, r += " <c:numCache>", r += " <c:formatCode>" + (e.catLabelFormatCode || "General") + "</c:formatCode>", r += ` <c:ptCount val="${o.labels[0].length}"/>`, o.labels[0].forEach((d, m) => r += `<c:pt idx="${m}"><c:v>${rt(d)}</c:v></c:pt>`), r += " </c:numCache>", r += " </c:numRef>") : (r += " <c:multiLvlStrRef>", r += ` <c:f>Sheet1!$A$2:$${gt(o.labels.length)}$${o.labels[0].length + 1}</c:f>`, r += " <c:multiLvlStrCache>", r += ` <c:ptCount val="${o.labels[0].length}"/>`, o.labels.forEach((d) => {
|
|
4541
4622
|
r += "<c:lvl>", d.forEach((m, u) => r += `<c:pt idx="${u}"><c:v>${rt(m)}</c:v></c:pt>`), r += "</c:lvl>";
|
|
4542
|
-
}), r += " </c:multiLvlStrCache>", r += " </c:multiLvlStrRef>"), r += "</c:cat>", r += "<c:val>", r += " <c:numRef>", r += `<c:f>Sheet1!$${gt(o._dataIndex + o.labels.length + 1)}$2:$${gt(o._dataIndex + o.labels.length + 1)}$${o.labels[0].length + 1}</c:f>`, r += " <c:numCache>", r += " <c:formatCode>" + (e.valLabelFormatCode || e.dataTableFormatCode || "General") + "</c:formatCode>", r += ` <c:ptCount val="${o.labels[0].length}"/>`, o.values.forEach((d, m) => r += `<c:pt idx="${m}"><c:v>${d || d === 0 ? d : ""}</c:v></c:pt>`), r += " </c:numCache>", r += " </c:numRef>", r += "</c:val>", t ===
|
|
4543
|
-
}), r += " <c:dLbls>", r += ` <c:numFmt formatCode="${rt(e.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, r += " <c:txPr>", r += " <a:bodyPr/>", r += " <a:lstStyle/>", r += " <a:p><a:pPr>", r += ` <a:defRPr b="${e.dataLabelFontBold ? 1 : 0}" i="${e.dataLabelFontItalic ? 1 : 0}" strike="noStrike" sz="${Math.round((e.dataLabelFontSize || St) * 100)}" u="none">`, r += " <a:solidFill>" + ht(e.dataLabelColor || Dt) + "</a:solidFill>", r += ' <a:latin typeface="' + (e.dataLabelFontFace || "Arial") + '"/>', r += " </a:defRPr>", r += " </a:pPr></a:p>", r += " </c:txPr>", e.dataLabelPosition && (r += ' <c:dLblPos val="' + e.dataLabelPosition + '"/>'), r += ' <c:showLegendKey val="0"/>', r += ' <c:showVal val="' + (e.showValue ? "1" : "0") + '"/>', r += ' <c:showCatName val="0"/>', r += ' <c:showSerName val="' + (e.showSerName ? "1" : "0") + '"/>', r += ' <c:showPercent val="0"/>', r += ' <c:showBubbleSize val="0"/>', r += ` <c:showLeaderLines val="${e.showLeaderLines ? "1" : "0"}"/>`, r += " </c:dLbls>", t ===
|
|
4623
|
+
}), r += " </c:multiLvlStrCache>", r += " </c:multiLvlStrRef>"), r += "</c:cat>", r += "<c:val>", r += " <c:numRef>", r += `<c:f>Sheet1!$${gt(o._dataIndex + o.labels.length + 1)}$2:$${gt(o._dataIndex + o.labels.length + 1)}$${o.labels[0].length + 1}</c:f>`, r += " <c:numCache>", r += " <c:formatCode>" + (e.valLabelFormatCode || e.dataTableFormatCode || "General") + "</c:formatCode>", r += ` <c:ptCount val="${o.labels[0].length}"/>`, o.values.forEach((d, m) => r += `<c:pt idx="${m}"><c:v>${d || d === 0 ? d : ""}</c:v></c:pt>`), r += " </c:numCache>", r += " </c:numRef>", r += "</c:val>", t === W.LINE && (r += '<c:smooth val="' + (e.lineSmooth ? "1" : "0") + '"/>'), r += "</c:ser>";
|
|
4624
|
+
}), r += " <c:dLbls>", r += ` <c:numFmt formatCode="${rt(e.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, r += " <c:txPr>", r += " <a:bodyPr/>", r += " <a:lstStyle/>", r += " <a:p><a:pPr>", r += ` <a:defRPr b="${e.dataLabelFontBold ? 1 : 0}" i="${e.dataLabelFontItalic ? 1 : 0}" strike="noStrike" sz="${Math.round((e.dataLabelFontSize || St) * 100)}" u="none">`, r += " <a:solidFill>" + ht(e.dataLabelColor || Dt) + "</a:solidFill>", r += ' <a:latin typeface="' + (e.dataLabelFontFace || "Arial") + '"/>', r += " </a:defRPr>", r += " </a:pPr></a:p>", r += " </c:txPr>", e.dataLabelPosition && (r += ' <c:dLblPos val="' + e.dataLabelPosition + '"/>'), r += ' <c:showLegendKey val="0"/>', r += ' <c:showVal val="' + (e.showValue ? "1" : "0") + '"/>', r += ' <c:showCatName val="0"/>', r += ' <c:showSerName val="' + (e.showSerName ? "1" : "0") + '"/>', r += ' <c:showPercent val="0"/>', r += ' <c:showBubbleSize val="0"/>', r += ` <c:showLeaderLines val="${e.showLeaderLines ? "1" : "0"}"/>`, r += " </c:dLbls>", t === W.BAR ? (r += ` <c:gapWidth val="${e.barGapWidthPct}"/>`, r += ` <c:overlap val="${(e.barGrouping || "").includes("tacked") ? 100 : e.barOverlapPct ? e.barOverlapPct : 0}"/>`) : t === W.BAR3D ? (r += ` <c:gapWidth val="${e.barGapWidthPct}"/>`, r += ` <c:gapDepth val="${e.barGapDepthPct}"/>`, r += ' <c:shape val="' + e.bar3DShape + '"/>') : t === W.LINE && (r += ' <c:marker val="1"/>'), r += `<c:axId val="${a}"/><c:axId val="${A}"/><c:axId val="${Xa}"/>`, r += `</c:${t}Chart>`;
|
|
4544
4625
|
break;
|
|
4545
|
-
case
|
|
4626
|
+
case W.SCATTER:
|
|
4546
4627
|
r += "<c:" + t + "Chart>", r += '<c:scatterStyle val="lineMarker"/>', r += '<c:varyColors val="0"/>', s = -1, n.filter((o, f) => f > 0).forEach((o, f) => {
|
|
4547
4628
|
s++, r += "<c:ser>", r += ` <c:idx val="${f}"/>`, r += ` <c:order val="${f}"/>`, r += " <c:tx>", r += " <c:strRef>", r += ` <c:f>Sheet1!$${gt(f + 2)}$1</c:f>`, r += ' <c:strCache><c:ptCount val="1"/><c:pt idx="0"><c:v>' + rt(o.name) + "</c:v></c:pt></c:strCache>", r += " </c:strRef>", r += " </c:tx>", r += " <c:spPr>";
|
|
4548
4629
|
{
|
|
@@ -4565,8 +4646,8 @@ function va(t, n, e, A, a, i) {
|
|
|
4565
4646
|
}), r += " </c:numCache>", r += " </c:numRef>", r += "</c:yVal>", r += '<c:smooth val="' + (e.lineSmooth ? "1" : "0") + '"/>', r += "</c:ser>";
|
|
4566
4647
|
}), r += " <c:dLbls>", r += ` <c:numFmt formatCode="${rt(e.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, r += " <c:txPr>", r += " <a:bodyPr/>", r += " <a:lstStyle/>", r += " <a:p><a:pPr>", r += ` <a:defRPr b="${e.dataLabelFontBold ? "1" : "0"}" i="${e.dataLabelFontItalic ? "1" : "0"}" strike="noStrike" sz="${Math.round((e.dataLabelFontSize || St) * 100)}" u="none">`, r += " <a:solidFill>" + ht(e.dataLabelColor || Dt) + "</a:solidFill>", r += ' <a:latin typeface="' + (e.dataLabelFontFace || "Arial") + '"/>', r += " </a:defRPr>", r += " </a:pPr></a:p>", r += " </c:txPr>", e.dataLabelPosition && (r += ' <c:dLblPos val="' + e.dataLabelPosition + '"/>'), r += ' <c:showLegendKey val="0"/>', r += ' <c:showVal val="' + (e.showValue ? "1" : "0") + '"/>', r += ' <c:showCatName val="0"/>', r += ' <c:showSerName val="' + (e.showSerName ? "1" : "0") + '"/>', r += ' <c:showPercent val="0"/>', r += ' <c:showBubbleSize val="0"/>', r += " </c:dLbls>", r += `<c:axId val="${a}"/><c:axId val="${A}"/>`, r += "</c:" + t + "Chart>";
|
|
4567
4648
|
break;
|
|
4568
|
-
case
|
|
4569
|
-
case
|
|
4649
|
+
case W.BUBBLE:
|
|
4650
|
+
case W.BUBBLE3D:
|
|
4570
4651
|
r += "<c:bubbleChart>", r += '<c:varyColors val="0"/>', s = -1, n.filter((o, f) => f > 0).forEach((o, f) => {
|
|
4571
4652
|
s++, r += "<c:ser>", r += ` <c:idx val="${f}"/>`, r += ` <c:order val="${f}"/>`, r += " <c:tx>", r += " <c:strRef>", r += " <c:f>Sheet1!$" + gt(c + 1) + "$1</c:f>", r += ' <c:strCache><c:ptCount val="1"/><c:pt idx="0"><c:v>' + rt(o.name) + "</c:v></c:pt></c:strCache>", r += " </c:strRef>", r += " </c:tx>";
|
|
4572
4653
|
{
|
|
@@ -4580,20 +4661,20 @@ function va(t, n, e, A, a, i) {
|
|
|
4580
4661
|
r += `<c:pt idx="${d}"><c:v>${o.values[d] || o.values[d] === 0 ? o.values[d] : ""}</c:v></c:pt>`;
|
|
4581
4662
|
}), r += " </c:numCache>", r += " </c:numRef>", r += "</c:yVal>", r += " <c:bubbleSize>", r += " <c:numRef>", r += `<c:f>Sheet1!$${gt(c + 1)}$2:$${gt(c + 1)}$${o.sizes.length + 1}</c:f>`, c++, r += " <c:numCache>", r += " <c:formatCode>General</c:formatCode>", r += ` <c:ptCount val="${o.sizes.length}"/>`, o.sizes.forEach((g, d) => {
|
|
4582
4663
|
r += `<c:pt idx="${d}"><c:v>${g || ""}</c:v></c:pt>`;
|
|
4583
|
-
}), r += " </c:numCache>", r += " </c:numRef>", r += " </c:bubbleSize>", r += ' <c:bubble3D val="' + (t ===
|
|
4664
|
+
}), r += " </c:numCache>", r += " </c:numRef>", r += " </c:bubbleSize>", r += ' <c:bubble3D val="' + (t === W.BUBBLE3D ? "1" : "0") + '"/>', r += "</c:ser>";
|
|
4584
4665
|
}), r += "<c:dLbls>", r += `<c:numFmt formatCode="${rt(e.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, r += "<c:txPr><a:bodyPr/><a:lstStyle/><a:p><a:pPr>", r += `<a:defRPr b="${e.dataLabelFontBold ? 1 : 0}" i="${e.dataLabelFontItalic ? 1 : 0}" strike="noStrike" sz="${Math.round(Math.round(e.dataLabelFontSize || St) * 100)}" u="none">`, r += `<a:solidFill>${ht(e.dataLabelColor || Dt)}</a:solidFill>`, r += `<a:latin typeface="${e.dataLabelFontFace || "Arial"}"/>`, r += "</a:defRPr></a:pPr></a:p></c:txPr>", e.dataLabelPosition && (r += `<c:dLblPos val="${e.dataLabelPosition}"/>`), r += '<c:showLegendKey val="0"/>', r += `<c:showVal val="${e.showValue ? "1" : "0"}"/>`, r += `<c:showCatName val="0"/><c:showSerName val="${e.showSerName ? "1" : "0"}"/><c:showPercent val="0"/><c:showBubbleSize val="0"/>`, r += "<c:extLst>", r += ' <c:ext uri="{CE6537A1-D6FC-4f65-9D91-7224C49458BB}" xmlns:c15="http://schemas.microsoft.com/office/drawing/2012/chart">', r += ' <c15:showLeaderLines val="' + (e.showLeaderLines ? "1" : "0") + '"/>', r += " </c:ext>", r += "</c:extLst>", r += "</c:dLbls>", r += `<c:axId val="${a}"/><c:axId val="${A}"/>`, r += "</c:bubbleChart>";
|
|
4585
4666
|
break;
|
|
4586
|
-
case
|
|
4587
|
-
case
|
|
4667
|
+
case W.DOUGHNUT:
|
|
4668
|
+
case W.PIE:
|
|
4588
4669
|
l = n[0], r += "<c:" + t + "Chart>", r += ' <c:varyColors val="1"/>', r += "<c:ser>", r += ' <c:idx val="0"/>', r += ' <c:order val="0"/>', r += " <c:tx>", r += " <c:strRef>", r += " <c:f>Sheet1!$B$1</c:f>", r += " <c:strCache>", r += ' <c:ptCount val="1"/>', r += ' <c:pt idx="0"><c:v>' + rt(l.name) + "</c:v></c:pt>", r += " </c:strCache>", r += " </c:strRef>", r += " </c:tx>", r += " <c:spPr>", r += ' <a:solidFill><a:schemeClr val="accent1"/></a:solidFill>', r += ' <a:ln w="9525" cap="flat"><a:solidFill><a:srgbClr val="F9F9F9"/></a:solidFill><a:prstDash val="solid"/><a:round/></a:ln>', e.dataNoEffects ? r += "<a:effectLst/>" : r += Ht(e.shadow, Jt), r += " </c:spPr>", l.labels[0].forEach((o, f) => {
|
|
4589
4670
|
r += "<c:dPt>", r += ` <c:idx val="${f}"/>`, r += ' <c:bubble3D val="0"/>', r += " <c:spPr>", r += `<a:solidFill>${ht(e.chartColors[f + 1 > e.chartColors.length ? Math.floor(Math.random() * e.chartColors.length) : f])}</a:solidFill>`, e.dataBorder && (r += `<a:ln w="${et(e.dataBorder.pt)}" cap="flat"><a:solidFill>${ht(e.dataBorder.color)}</a:solidFill><a:prstDash val="solid"/><a:round/></a:ln>`), r += Ht(e.shadow, Jt), r += " </c:spPr>", r += "</c:dPt>";
|
|
4590
4671
|
}), r += "<c:dLbls>", l.labels[0].forEach((o, f) => {
|
|
4591
|
-
r += "<c:dLbl>", r += ` <c:idx val="${f}"/>`, r += ` <c:numFmt formatCode="${rt(e.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, r += " <c:spPr/><c:txPr>", r += " <a:bodyPr/><a:lstStyle/>", r += " <a:p><a:pPr>", r += ` <a:defRPr sz="${Math.round((e.dataLabelFontSize || St) * 100)}" b="${e.dataLabelFontBold ? 1 : 0}" i="${e.dataLabelFontItalic ? 1 : 0}" u="none" strike="noStrike">`, r += " <a:solidFill>" + ht(e.dataLabelColor || Dt) + "</a:solidFill>", r += ` <a:latin typeface="${e.dataLabelFontFace || "Arial"}"/>`, r += " </a:defRPr>", r += " </a:pPr></a:p>", r += " </c:txPr>", t ===
|
|
4592
|
-
}), r += ` <c:numFmt formatCode="${rt(e.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, r += " <c:txPr>", r += " <a:bodyPr/>", r += " <a:lstStyle/>", r += " <a:p>", r += " <a:pPr>", r += ` <a:defRPr sz="1800" b="${e.dataLabelFontBold ? "1" : "0"}" i="${e.dataLabelFontItalic ? "1" : "0"}" u="none" strike="noStrike">`, r += ' <a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/>', r += " </a:defRPr>", r += " </a:pPr>", r += " </a:p>", r += " </c:txPr>", r += t ===
|
|
4672
|
+
r += "<c:dLbl>", r += ` <c:idx val="${f}"/>`, r += ` <c:numFmt formatCode="${rt(e.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, r += " <c:spPr/><c:txPr>", r += " <a:bodyPr/><a:lstStyle/>", r += " <a:p><a:pPr>", r += ` <a:defRPr sz="${Math.round((e.dataLabelFontSize || St) * 100)}" b="${e.dataLabelFontBold ? 1 : 0}" i="${e.dataLabelFontItalic ? 1 : 0}" u="none" strike="noStrike">`, r += " <a:solidFill>" + ht(e.dataLabelColor || Dt) + "</a:solidFill>", r += ` <a:latin typeface="${e.dataLabelFontFace || "Arial"}"/>`, r += " </a:defRPr>", r += " </a:pPr></a:p>", r += " </c:txPr>", t === W.PIE && e.dataLabelPosition && (r += `<c:dLblPos val="${e.dataLabelPosition}"/>`), r += ' <c:showLegendKey val="0"/>', r += ' <c:showVal val="' + (e.showValue ? "1" : "0") + '"/>', r += ' <c:showCatName val="' + (e.showLabel ? "1" : "0") + '"/>', r += ' <c:showSerName val="' + (e.showSerName ? "1" : "0") + '"/>', r += ' <c:showPercent val="' + (e.showPercent ? "1" : "0") + '"/>', r += ' <c:showBubbleSize val="0"/>', r += " </c:dLbl>";
|
|
4673
|
+
}), r += ` <c:numFmt formatCode="${rt(e.dataLabelFormatCode) || "General"}" sourceLinked="0"/>`, r += " <c:txPr>", r += " <a:bodyPr/>", r += " <a:lstStyle/>", r += " <a:p>", r += " <a:pPr>", r += ` <a:defRPr sz="1800" b="${e.dataLabelFontBold ? "1" : "0"}" i="${e.dataLabelFontItalic ? "1" : "0"}" u="none" strike="noStrike">`, r += ' <a:solidFill><a:srgbClr val="000000"/></a:solidFill><a:latin typeface="Arial"/>', r += " </a:defRPr>", r += " </a:pPr>", r += " </a:p>", r += " </c:txPr>", r += t === W.PIE ? '<c:dLblPos val="ctr"/>' : "", r += ' <c:showLegendKey val="0"/>', r += ' <c:showVal val="0"/>', r += ' <c:showCatName val="1"/>', r += ' <c:showSerName val="0"/>', r += ' <c:showPercent val="1"/>', r += ' <c:showBubbleSize val="0"/>', r += ` <c:showLeaderLines val="${e.showLeaderLines ? "1" : "0"}"/>`, r += "</c:dLbls>", r += "<c:cat>", r += " <c:strRef>", r += ` <c:f>Sheet1!$A$2:$A$${l.labels[0].length + 1}</c:f>`, r += " <c:strCache>", r += ` <c:ptCount val="${l.labels[0].length}"/>`, l.labels[0].forEach((o, f) => {
|
|
4593
4674
|
r += `<c:pt idx="${f}"><c:v>${rt(o)}</c:v></c:pt>`;
|
|
4594
4675
|
}), r += " </c:strCache>", r += " </c:strRef>", r += "</c:cat>", r += " <c:val>", r += " <c:numRef>", r += ` <c:f>Sheet1!$B$2:$B$${l.labels[0].length + 1}</c:f>`, r += " <c:numCache>", r += ` <c:ptCount val="${l.labels[0].length}"/>`, l.values.forEach((o, f) => {
|
|
4595
4676
|
r += `<c:pt idx="${f}"><c:v>${o || o === 0 ? o : ""}</c:v></c:pt>`;
|
|
4596
|
-
}), r += " </c:numCache>", r += " </c:numRef>", r += " </c:val>", r += " </c:ser>", r += ` <c:firstSliceAng val="${e.firstSliceAng ? Math.round(e.firstSliceAng) : 0}"/>`, t ===
|
|
4677
|
+
}), r += " </c:numCache>", r += " </c:numRef>", r += " </c:val>", r += " </c:ser>", r += ` <c:firstSliceAng val="${e.firstSliceAng ? Math.round(e.firstSliceAng) : 0}"/>`, t === W.DOUGHNUT && (r += `<c:holeSize val="${typeof e.holeSize == "number" ? e.holeSize : "50"}"/>`), r += "</c:" + t + "Chart>";
|
|
4597
4678
|
break;
|
|
4598
4679
|
default:
|
|
4599
4680
|
r += "";
|
|
@@ -4603,32 +4684,32 @@ function va(t, n, e, A, a, i) {
|
|
|
4603
4684
|
}
|
|
4604
4685
|
function Oe(t, n, e) {
|
|
4605
4686
|
let A = "";
|
|
4606
|
-
return t._type ===
|
|
4687
|
+
return t._type === W.SCATTER || t._type === W.BUBBLE || t._type === W.BUBBLE3D ? A += "<c:valAx>" : A += "<c:" + (t.catLabelFormatCode ? "dateAx" : "catAx") + ">", A += ' <c:axId val="' + n + '"/>', A += " <c:scaling>", A += '<c:orientation val="' + (t.catAxisOrientation || (t.barDir === "col", "minMax")) + '"/>', (t.catAxisMaxVal || t.catAxisMaxVal === 0) && (A += `<c:max val="${t.catAxisMaxVal}"/>`), (t.catAxisMinVal || t.catAxisMinVal === 0) && (A += `<c:min val="${t.catAxisMinVal}"/>`), A += "</c:scaling>", A += ' <c:delete val="' + (t.catAxisHidden ? "1" : "0") + '"/>', A += ' <c:axPos val="' + (t.barDir === "col" ? "b" : "l") + '"/>', A += t.catGridLine.style !== "none" ? ia(t.catGridLine) : "", t.showCatAxisTitle && (A += Te({
|
|
4607
4688
|
color: t.catAxisTitleColor,
|
|
4608
4689
|
fontFace: t.catAxisTitleFontFace,
|
|
4609
4690
|
fontSize: t.catAxisTitleFontSize,
|
|
4610
4691
|
titleRotate: t.catAxisTitleRotate,
|
|
4611
4692
|
title: t.catAxisTitle || "Axis Title"
|
|
4612
|
-
})), t._type ===
|
|
4693
|
+
})), t._type === W.SCATTER || t._type === W.BUBBLE || t._type === W.BUBBLE3D ? A += ' <c:numFmt formatCode="' + (t.valAxisLabelFormatCode ? rt(t.valAxisLabelFormatCode) : "General") + '" sourceLinked="1"/>' : A += ' <c:numFmt formatCode="' + (rt(t.catLabelFormatCode) || "General") + '" sourceLinked="1"/>', t._type === W.SCATTER ? (A += ' <c:majorTickMark val="none"/>', A += ' <c:minorTickMark val="none"/>', A += ' <c:tickLblPos val="nextTo"/>') : (A += ' <c:majorTickMark val="' + (t.catAxisMajorTickMark || "out") + '"/>', A += ' <c:minorTickMark val="' + (t.catAxisMinorTickMark || "none") + '"/>', A += ' <c:tickLblPos val="' + (t.catAxisLabelPos || (t.barDir === "col" ? "low" : "nextTo")) + '"/>'), A += " <c:spPr>", A += ` <a:ln w="${t.catAxisLineSize ? et(t.catAxisLineSize) : ve}" cap="flat">`, A += t.catAxisLineShow ? "<a:solidFill>" + ht(t.catAxisLineColor || jt.color) + "</a:solidFill>" : "<a:noFill/>", A += ' <a:prstDash val="' + (t.catAxisLineStyle || "solid") + '"/>', A += " <a:round/>", A += " </a:ln>", A += " </c:spPr>", A += " <c:txPr>", t.catAxisLabelRotate ? A += `<a:bodyPr rot="${Kt(t.catAxisLabelRotate)}"/>` : A += "<a:bodyPr/>", A += " <a:lstStyle/>", A += " <a:p>", A += " <a:pPr>", A += ` <a:defRPr sz="${Math.round((t.catAxisLabelFontSize || St) * 100)}" b="${t.catAxisLabelFontBold ? 1 : 0}" i="${t.catAxisLabelFontItalic ? 1 : 0}" u="none" strike="noStrike">`, A += " <a:solidFill>" + ht(t.catAxisLabelColor || Dt) + "</a:solidFill>", A += ' <a:latin typeface="' + (t.catAxisLabelFontFace || "Arial") + '"/>', A += " </a:defRPr>", A += " </a:pPr>", A += ' <a:endParaRPr lang="' + (t.lang || "en-US") + '"/>', A += " </a:p>", A += " </c:txPr>", A += ' <c:crossAx val="' + e + '"/>', A += ` <c:${typeof t.valAxisCrossesAt == "number" ? "crossesAt" : "crosses"} val="${t.valAxisCrossesAt || "autoZero"}"/>`, A += ' <c:auto val="1"/>', A += ' <c:lblAlgn val="ctr"/>', A += ` <c:noMultiLvlLbl val="${t.catAxisMultiLevelLabels ? 0 : 1}"/>`, t.catAxisLabelFrequency && (A += ' <c:tickLblSkip val="' + t.catAxisLabelFrequency + '"/>'), (t.catLabelFormatCode || t._type === W.SCATTER || t._type === W.BUBBLE || t._type === W.BUBBLE3D) && (t.catLabelFormatCode && (["catAxisBaseTimeUnit", "catAxisMajorTimeUnit", "catAxisMinorTimeUnit"].forEach((a) => {
|
|
4613
4694
|
t[a] && (typeof t[a] != "string" || !["days", "months", "years"].includes(t[a].toLowerCase())) && (console.warn(`"${a}" must be one of: 'days','months','years' !`), t[a] = null);
|
|
4614
|
-
}), t.catAxisBaseTimeUnit && (A += '<c:baseTimeUnit val="' + t.catAxisBaseTimeUnit.toLowerCase() + '"/>'), t.catAxisMajorTimeUnit && (A += '<c:majorTimeUnit val="' + t.catAxisMajorTimeUnit.toLowerCase() + '"/>'), t.catAxisMinorTimeUnit && (A += '<c:minorTimeUnit val="' + t.catAxisMinorTimeUnit.toLowerCase() + '"/>')), t.catAxisMajorUnit && (A += `<c:majorUnit val="${t.catAxisMajorUnit}"/>`), t.catAxisMinorUnit && (A += `<c:minorUnit val="${t.catAxisMinorUnit}"/>`)), t._type ===
|
|
4695
|
+
}), t.catAxisBaseTimeUnit && (A += '<c:baseTimeUnit val="' + t.catAxisBaseTimeUnit.toLowerCase() + '"/>'), t.catAxisMajorTimeUnit && (A += '<c:majorTimeUnit val="' + t.catAxisMajorTimeUnit.toLowerCase() + '"/>'), t.catAxisMinorTimeUnit && (A += '<c:minorTimeUnit val="' + t.catAxisMinorTimeUnit.toLowerCase() + '"/>')), t.catAxisMajorUnit && (A += `<c:majorUnit val="${t.catAxisMajorUnit}"/>`), t.catAxisMinorUnit && (A += `<c:minorUnit val="${t.catAxisMinorUnit}"/>`)), t._type === W.SCATTER || t._type === W.BUBBLE || t._type === W.BUBBLE3D ? A += "</c:valAx>" : A += "</c:" + (t.catLabelFormatCode ? "dateAx" : "catAx") + ">", A;
|
|
4615
4696
|
}
|
|
4616
4697
|
function Xe(t, n) {
|
|
4617
|
-
let e = n ===
|
|
4698
|
+
let e = n === Gt ? t.barDir === "col" ? "l" : "b" : t.barDir !== "col" ? "r" : "t";
|
|
4618
4699
|
n === Be && (e = "r");
|
|
4619
|
-
const A = n ===
|
|
4700
|
+
const A = n === Gt ? fe : We;
|
|
4620
4701
|
let a = "";
|
|
4621
|
-
return a += "<c:valAx>", a += ' <c:axId val="' + n + '"/>', a += " <c:scaling>", t.valAxisLogScaleBase && (a += `<c:logBase val="${t.valAxisLogScaleBase}"/>`), a += '<c:orientation val="' + (t.valAxisOrientation || (t.barDir === "col", "minMax")) + '"/>', (t.valAxisMaxVal || t.valAxisMaxVal === 0) && (a += `<c:max val="${t.valAxisMaxVal}"/>`), (t.valAxisMinVal || t.valAxisMinVal === 0) && (a += `<c:min val="${t.valAxisMinVal}"/>`), a += " </c:scaling>", a += ` <c:delete val="${t.valAxisHidden ? 1 : 0}"/>`, a += ' <c:axPos val="' + e + '"/>', t.valGridLine.style !== "none" && (a +=
|
|
4702
|
+
return a += "<c:valAx>", a += ' <c:axId val="' + n + '"/>', a += " <c:scaling>", t.valAxisLogScaleBase && (a += `<c:logBase val="${t.valAxisLogScaleBase}"/>`), a += '<c:orientation val="' + (t.valAxisOrientation || (t.barDir === "col", "minMax")) + '"/>', (t.valAxisMaxVal || t.valAxisMaxVal === 0) && (a += `<c:max val="${t.valAxisMaxVal}"/>`), (t.valAxisMinVal || t.valAxisMinVal === 0) && (a += `<c:min val="${t.valAxisMinVal}"/>`), a += " </c:scaling>", a += ` <c:delete val="${t.valAxisHidden ? 1 : 0}"/>`, a += ' <c:axPos val="' + e + '"/>', t.valGridLine.style !== "none" && (a += ia(t.valGridLine)), t.showValAxisTitle && (a += Te({
|
|
4622
4703
|
color: t.valAxisTitleColor,
|
|
4623
4704
|
fontFace: t.valAxisTitleFontFace,
|
|
4624
4705
|
fontSize: t.valAxisTitleFontSize,
|
|
4625
4706
|
titleRotate: t.valAxisTitleRotate,
|
|
4626
4707
|
title: t.valAxisTitle || "Axis Title"
|
|
4627
|
-
})), a += `<c:numFmt formatCode="${t.valAxisLabelFormatCode ? rt(t.valAxisLabelFormatCode) : "General"}" sourceLinked="0"/>`, t._type ===
|
|
4708
|
+
})), a += `<c:numFmt formatCode="${t.valAxisLabelFormatCode ? rt(t.valAxisLabelFormatCode) : "General"}" sourceLinked="0"/>`, t._type === W.SCATTER ? (a += ' <c:majorTickMark val="none"/>', a += ' <c:minorTickMark val="none"/>', a += ' <c:tickLblPos val="nextTo"/>') : (a += ' <c:majorTickMark val="' + (t.valAxisMajorTickMark || "out") + '"/>', a += ' <c:minorTickMark val="' + (t.valAxisMinorTickMark || "none") + '"/>', a += ' <c:tickLblPos val="' + (t.valAxisLabelPos || (t.barDir === "col" ? "nextTo" : "low")) + '"/>'), a += " <c:spPr>", a += ` <a:ln w="${t.valAxisLineSize ? et(t.valAxisLineSize) : ve}" cap="flat">`, a += t.valAxisLineShow ? "<a:solidFill>" + ht(t.valAxisLineColor || jt.color) + "</a:solidFill>" : "<a:noFill/>", a += ' <a:prstDash val="' + (t.valAxisLineStyle || "solid") + '"/>', a += " <a:round/>", a += " </a:ln>", a += " </c:spPr>", a += " <c:txPr>", a += ` <a:bodyPr${t.valAxisLabelRotate ? ' rot="' + Kt(t.valAxisLabelRotate).toString() + '"' : ""}/>`, a += " <a:lstStyle/>", a += " <a:p>", a += " <a:pPr>", a += ` <a:defRPr sz="${Math.round((t.valAxisLabelFontSize || St) * 100)}" b="${t.valAxisLabelFontBold ? 1 : 0}" i="${t.valAxisLabelFontItalic ? 1 : 0}" u="none" strike="noStrike">`, a += " <a:solidFill>" + ht(t.valAxisLabelColor || Dt) + "</a:solidFill>", a += ' <a:latin typeface="' + (t.valAxisLabelFontFace || "Arial") + '"/>', a += " </a:defRPr>", a += " </a:pPr>", a += ' <a:endParaRPr lang="' + (t.lang || "en-US") + '"/>', a += " </a:p>", a += " </c:txPr>", a += ' <c:crossAx val="' + A + '"/>', typeof t.catAxisCrossesAt == "number" ? a += ` <c:crossesAt val="${t.catAxisCrossesAt}"/>` : typeof t.catAxisCrossesAt == "string" ? a += ' <c:crosses val="' + t.catAxisCrossesAt + '"/>' : a += ' <c:crosses val="' + (e === "r" || e === "t" ? "max" : "autoZero") + '"/>', a += ' <c:crossBetween val="' + (t._type === W.SCATTER || Array.isArray(t._type) && t._type.filter((i) => i.type === W.AREA).length > 0 ? "midCat" : "between") + '"/>', t.valAxisMajorUnit && (a += ` <c:majorUnit val="${t.valAxisMajorUnit}"/>`), t.valAxisDisplayUnit && (a += `<c:dispUnits><c:builtInUnit val="${t.valAxisDisplayUnit}"/>${t.valAxisDisplayUnitLabel ? "<c:dispUnitsLbl/>" : ""}</c:dispUnits>`), a += "</c:valAx>", a;
|
|
4628
4709
|
}
|
|
4629
|
-
function
|
|
4710
|
+
function Zr(t, n, e) {
|
|
4630
4711
|
let A = "";
|
|
4631
|
-
return A += "<c:serAx>", A += ' <c:axId val="' + n + '"/>', A += ' <c:scaling><c:orientation val="' + (t.serAxisOrientation || (t.barDir === "col", "minMax")) + '"/></c:scaling>', A += ' <c:delete val="' + (t.serAxisHidden ? "1" : "0") + '"/>', A += ' <c:axPos val="' + (t.barDir === "col" ? "b" : "l") + '"/>', A += t.serGridLine.style !== "none" ?
|
|
4712
|
+
return A += "<c:serAx>", A += ' <c:axId val="' + n + '"/>', A += ' <c:scaling><c:orientation val="' + (t.serAxisOrientation || (t.barDir === "col", "minMax")) + '"/></c:scaling>', A += ' <c:delete val="' + (t.serAxisHidden ? "1" : "0") + '"/>', A += ' <c:axPos val="' + (t.barDir === "col" ? "b" : "l") + '"/>', A += t.serGridLine.style !== "none" ? ia(t.serGridLine) : "", t.showSerAxisTitle && (A += Te({
|
|
4632
4713
|
color: t.serAxisTitleColor,
|
|
4633
4714
|
fontFace: t.serAxisTitleFontFace,
|
|
4634
4715
|
fontSize: t.serAxisTitleFontSize,
|
|
@@ -4638,7 +4719,7 @@ function Jr(t, n, e) {
|
|
|
4638
4719
|
t[a] && (typeof t[a] != "string" || !["days", "months", "years"].includes(a.toLowerCase())) && (console.warn(`"${a}" must be one of: 'days','months','years' !`), t[a] = null);
|
|
4639
4720
|
}), t.serAxisBaseTimeUnit && (A += ` <c:baseTimeUnit val="${t.serAxisBaseTimeUnit.toLowerCase()}"/>`), t.serAxisMajorTimeUnit && (A += ` <c:majorTimeUnit val="${t.serAxisMajorTimeUnit.toLowerCase()}"/>`), t.serAxisMinorTimeUnit && (A += ` <c:minorTimeUnit val="${t.serAxisMinorTimeUnit.toLowerCase()}"/>`), t.serAxisMajorUnit && (A += ` <c:majorUnit val="${t.serAxisMajorUnit}"/>`), t.serAxisMinorUnit && (A += ` <c:minorUnit val="${t.serAxisMinorUnit}"/>`)), A += "</c:serAx>", A;
|
|
4640
4721
|
}
|
|
4641
|
-
function
|
|
4722
|
+
function Te(t, n, e) {
|
|
4642
4723
|
const A = t.titleAlign === "left" || t.titleAlign === "right" ? `<a:pPr algn="${t.titleAlign.substring(0, 1)}">` : "<a:pPr>", a = t.titleRotate ? `<a:bodyPr rot="${Kt(t.titleRotate)}"/>` : "<a:bodyPr/>", i = t.fontSize ? `sz="${Math.round(t.fontSize * 100)}"` : "", s = t.titleBold ? 1 : 0;
|
|
4643
4724
|
let c = "<c:layout/>";
|
|
4644
4725
|
if (t.titlePos && typeof t.titlePos.x == "number" && typeof t.titlePos.y == "number") {
|
|
@@ -4688,7 +4769,7 @@ function Ht(t, n) {
|
|
|
4688
4769
|
const A = Object.assign(Object.assign({}, n), t), a = A.type || "outer", i = et(A.blur), s = et(A.offset), c = Math.round(A.angle * 6e4), l = A.color, r = Math.round(A.opacity * 1e5), o = A.rotateWithShape ? 1 : 0;
|
|
4689
4770
|
return e += `<a:${a}Shdw sx="100000" sy="100000" kx="0" ky="0" algn="bl" blurRad="${i}" rotWithShape="${o}" dist="${s}" dir="${c}">`, e += `<a:srgbClr val="${l}">`, e += `<a:alpha val="${r}"/></a:srgbClr>`, e += `</a:${a}Shdw>`, e += "</a:effectLst>", e;
|
|
4690
4771
|
}
|
|
4691
|
-
function
|
|
4772
|
+
function ia(t) {
|
|
4692
4773
|
let n = "<c:majorGridlines>";
|
|
4693
4774
|
return n += " <c:spPr>", n += ` <a:ln w="${et(t.size || jt.size)}" cap="${ke(t.cap || jt.cap)}">`, n += ' <a:solidFill><a:srgbClr val="' + (t.color || jt.color) + '"/></a:solidFill>', n += ' <a:prstDash val="' + (t.style || jt.style) + '"/><a:round/>', n += " </a:ln>", n += " </c:spPr>", n += "</c:majorGridlines>", n;
|
|
4694
4775
|
}
|
|
@@ -4723,7 +4804,7 @@ function Ge(t) {
|
|
|
4723
4804
|
const f = a.readFileSync(o.path);
|
|
4724
4805
|
return o.data = Buffer.from(f).toString("base64"), l.filter((g) => g.isDuplicate && g.path === o.path).forEach((g) => g.data = o.data), "done";
|
|
4725
4806
|
} catch (f) {
|
|
4726
|
-
throw o.data =
|
|
4807
|
+
throw o.data = oe, l.filter((g) => g.isDuplicate && g.path === o.path).forEach((g) => g.data = o.data), new Error(`ERROR: Unable to read media: "${o.path}"
|
|
4727
4808
|
${String(f)}`);
|
|
4728
4809
|
}
|
|
4729
4810
|
return A && i && o.path.startsWith("http") ? yield new Promise((f, g) => {
|
|
@@ -4732,7 +4813,7 @@ ${String(f)}`);
|
|
|
4732
4813
|
d.setEncoding("binary"), d.on("data", (u) => m += u), d.on("end", () => {
|
|
4733
4814
|
o.data = Buffer.from(m, "binary").toString("base64"), l.filter((u) => u.isDuplicate && u.path === o.path).forEach((u) => u.data = o.data), f("done");
|
|
4734
4815
|
}), d.on("error", () => {
|
|
4735
|
-
o.data =
|
|
4816
|
+
o.data = oe, l.filter((u) => u.isDuplicate && u.path === o.path).forEach((u) => u.data = o.data), g(new Error(`ERROR! Unable to load image (https.get): ${o.path}`));
|
|
4736
4817
|
});
|
|
4737
4818
|
});
|
|
4738
4819
|
}) : yield new Promise((f, g) => {
|
|
@@ -4740,20 +4821,20 @@ ${String(f)}`);
|
|
|
4740
4821
|
d.onload = () => {
|
|
4741
4822
|
const m = new FileReader();
|
|
4742
4823
|
m.onloadend = () => {
|
|
4743
|
-
o.data = m.result, l.filter((u) => u.isDuplicate && u.path === o.path).forEach((u) => u.data = o.data), o.isSvgPng ?
|
|
4824
|
+
o.data = m.result, l.filter((u) => u.isDuplicate && u.path === o.path).forEach((u) => u.data = o.data), o.isSvgPng ? wa(o).then(() => f("done")).catch(g) : f("done");
|
|
4744
4825
|
}, m.readAsDataURL(d.response);
|
|
4745
4826
|
}, d.onerror = () => {
|
|
4746
|
-
o.data =
|
|
4827
|
+
o.data = oe, l.filter((m) => m.isDuplicate && m.path === o.path).forEach((m) => m.data = o.data), g(new Error(`ERROR! Unable to load image (xhr.onerror): ${o.path}`));
|
|
4747
4828
|
}, d.open("GET", o.path), d.responseType = "blob", d.send();
|
|
4748
4829
|
});
|
|
4749
4830
|
}));
|
|
4750
4831
|
}), t._relsMedia.filter((o) => o.isSvgPng && o.data).forEach((o) => {
|
|
4751
4832
|
Nt(this, void 0, void 0, function* () {
|
|
4752
|
-
A && !a && (yield s()), A && a ? (o.data =
|
|
4833
|
+
A && !a && (yield s()), A && a ? (o.data = oe, c.push(Promise.resolve("done"))) : c.push(wa(o));
|
|
4753
4834
|
});
|
|
4754
4835
|
}), c;
|
|
4755
4836
|
}
|
|
4756
|
-
function
|
|
4837
|
+
function wa(t) {
|
|
4757
4838
|
return Nt(this, void 0, void 0, function* () {
|
|
4758
4839
|
return yield new Promise((n, e) => {
|
|
4759
4840
|
const A = new Image();
|
|
@@ -4769,12 +4850,12 @@ function ya(t) {
|
|
|
4769
4850
|
}
|
|
4770
4851
|
a = null;
|
|
4771
4852
|
}, A.onerror = () => {
|
|
4772
|
-
t.data =
|
|
4773
|
-
}, A.src = typeof t.data == "string" ? t.data :
|
|
4853
|
+
t.data = oe, e(new Error(`ERROR! Unable to load image (image.onerror): ${t.path}`));
|
|
4854
|
+
}, A.src = typeof t.data == "string" ? t.data : oe;
|
|
4774
4855
|
});
|
|
4775
4856
|
});
|
|
4776
4857
|
}
|
|
4777
|
-
const
|
|
4858
|
+
const $r = {
|
|
4778
4859
|
cover: function(t, n) {
|
|
4779
4860
|
const e = t.h / t.w, a = n.h / n.w > e, i = a ? n.h / e : n.w, s = a ? n.h : n.w * e, c = Math.round(1e5 * 0.5 * (1 - n.w / i)), l = Math.round(1e5 * 0.5 * (1 - n.h / s));
|
|
4780
4861
|
return `<a:srcRect l="${c}" r="${c}" t="${l}" b="${l}"/><a:stretch/>`;
|
|
@@ -4788,15 +4869,15 @@ const Hr = {
|
|
|
4788
4869
|
return `<a:srcRect l="${s}" r="${c}" t="${l}" b="${r}"/><a:stretch/>`;
|
|
4789
4870
|
}
|
|
4790
4871
|
};
|
|
4791
|
-
function
|
|
4872
|
+
function Aa(t) {
|
|
4792
4873
|
var n;
|
|
4793
4874
|
let e = t._name ? '<p:cSld name="' + t._name + '">' : "<p:cSld>", A = 1;
|
|
4794
|
-
return t._bkgdImgRid ? e += `<p:bg><p:bgPr><a:blipFill dpi="0" rotWithShape="1"><a:blip r:embed="rId${t._bkgdImgRid}"><a:lum/></a:blip><a:srcRect/><a:stretch><a:fillRect/></a:stretch></a:blipFill><a:effectLst/></p:bgPr></p:bg>` : !((n = t.background) === null || n === void 0) && n.color ? e += `<p:bg><p:bgPr>${
|
|
4875
|
+
return t._bkgdImgRid ? e += `<p:bg><p:bgPr><a:blipFill dpi="0" rotWithShape="1"><a:blip r:embed="rId${t._bkgdImgRid}"><a:lum/></a:blip><a:srcRect/><a:stretch><a:fillRect/></a:stretch></a:blipFill><a:effectLst/></p:bgPr></p:bg>` : !((n = t.background) === null || n === void 0) && n.color ? e += `<p:bg><p:bgPr>${Tt(t.background)}</p:bgPr></p:bg>` : !t.bkgd && t._name && t._name === Qe && (e += '<p:bg><p:bgRef idx="1001"><a:schemeClr val="bg1"/></p:bgRef></p:bg>'), e += "<p:spTree>", e += '<p:nvGrpSpPr><p:cNvPr id="1" name=""/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr>', e += '<p:grpSpPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/>', e += '<a:chOff x="0" y="0"/><a:chExt cx="0" cy="0"/></a:xfrm></p:grpSpPr>', t._slideObjects.forEach((a, i) => {
|
|
4795
4876
|
var s, c, l, r, o, f, g, d;
|
|
4796
4877
|
let m = 0, u = 0, y = it("75%", "X", t._presLayout), v = 0, b, x = "", k = null, L = null, R = 0, N = 0, U = null, P = null;
|
|
4797
4878
|
const E = (s = a.options) === null || s === void 0 ? void 0 : s.sizing, J = (c = a.options) === null || c === void 0 ? void 0 : c.rounding;
|
|
4798
4879
|
t._slideLayout !== void 0 && t._slideLayout._slideObjects !== void 0 && a.options && a.options.placeholder && (b = t._slideLayout._slideObjects.filter((p) => p.options.placeholder === a.options.placeholder)[0]), a.options = a.options || {}, typeof a.options.x < "u" && (m = it(a.options.x, "X", t._presLayout)), typeof a.options.y < "u" && (u = it(a.options.y, "Y", t._presLayout)), typeof a.options.w < "u" && (y = it(a.options.w, "X", t._presLayout)), typeof a.options.h < "u" && (v = it(a.options.h, "Y", t._presLayout));
|
|
4799
|
-
let B = y,
|
|
4880
|
+
let B = y, M = v;
|
|
4800
4881
|
switch (b && ((b.options.x || b.options.x === 0) && (m = it(b.options.x, "X", t._presLayout)), (b.options.y || b.options.y === 0) && (u = it(b.options.y, "Y", t._presLayout)), (b.options.w || b.options.w === 0) && (y = it(b.options.w, "X", t._presLayout)), (b.options.h || b.options.h === 0) && (v = it(b.options.h, "Y", t._presLayout))), a.options.flipH && (x += ' flipH="1"'), a.options.flipV && (x += ' flipV="1"'), a.options.rotate && (x += ` rot="${Kt(a.options.rotate)}"`), a._type) {
|
|
4801
4882
|
case nt.table:
|
|
4802
4883
|
if (k = a.arrTabRows, L = a.options, R = 0, N = 0, k[0].forEach((p) => {
|
|
@@ -4828,16 +4909,16 @@ function ia(t) {
|
|
|
4828
4909
|
const K = k[I + 1];
|
|
4829
4910
|
K && p.forEach((O, at) => {
|
|
4830
4911
|
var G, $;
|
|
4831
|
-
const S = O._rowContinue || ((G = O.options) === null || G === void 0 ? void 0 : G.rowspan),
|
|
4912
|
+
const S = O._rowContinue || ((G = O.options) === null || G === void 0 ? void 0 : G.rowspan), F = ($ = O.options) === null || $ === void 0 ? void 0 : $.colspan, j = O._hmerge;
|
|
4832
4913
|
if (S && S > 1) {
|
|
4833
|
-
const H = { _type: nt.tablecell, options: { colspan:
|
|
4914
|
+
const H = { _type: nt.tablecell, options: { colspan: F }, _rowContinue: S - 1, _vmerge: !0, _hmerge: j };
|
|
4834
4915
|
K.splice(at, 0, H);
|
|
4835
4916
|
}
|
|
4836
4917
|
});
|
|
4837
4918
|
}), k.forEach((p, I) => {
|
|
4838
4919
|
let K = 0;
|
|
4839
4920
|
Array.isArray(L.rowH) && L.rowH[I] ? K = ct(Number(L.rowH[I])) : L.rowH && !isNaN(Number(L.rowH)) ? K = ct(Number(L.rowH)) : (a.options.cy || a.options.h) && (K = Math.round((a.options.h ? ct(a.options.h) : typeof a.options.cy == "number" ? a.options.cy : 1) / k.length)), P += `<a:tr h="${K}">`, p.forEach((O) => {
|
|
4840
|
-
var at, G, $, S,
|
|
4921
|
+
var at, G, $, S, F;
|
|
4841
4922
|
const j = O, H = {
|
|
4842
4923
|
rowSpan: ((at = j.options) === null || at === void 0 ? void 0 : at.rowspan) > 1 ? j.options.rowspan : void 0,
|
|
4843
4924
|
gridSpan: ((G = j.options) === null || G === void 0 ? void 0 : G.colspan) > 1 ? j.options.colspan : void 0,
|
|
@@ -4854,13 +4935,13 @@ function ia(t) {
|
|
|
4854
4935
|
L[ut] && !At[ut] && At[ut] !== 0 && (At[ut] = L[ut]);
|
|
4855
4936
|
});
|
|
4856
4937
|
const xt = At.valign ? ` anchor="${At.valign.replace(/^c$/i, "ctr").replace(/^m$/i, "ctr").replace("center", "ctr").replace("middle", "ctr").replace("top", "t").replace("btm", "b").replace("bottom", "b")}"` : "", dt = At.textDirection && At.textDirection !== "horz" ? ` vert="${At.textDirection}"` : "";
|
|
4857
|
-
let ft = !((S = ($ = j._optImp) === null || $ === void 0 ? void 0 : $.fill) === null || S === void 0) && S.color ? j._optImp.fill.color : !((
|
|
4938
|
+
let ft = !((S = ($ = j._optImp) === null || $ === void 0 ? void 0 : $.fill) === null || S === void 0) && S.color ? j._optImp.fill.color : !((F = j._optImp) === null || F === void 0) && F.fill && typeof j._optImp.fill == "string" ? j._optImp.fill : "";
|
|
4858
4939
|
ft = ft || At.fill ? At.fill : "";
|
|
4859
|
-
const wt = ft ?
|
|
4860
|
-
let lt = At.margin === 0 || At.margin ? At.margin :
|
|
4940
|
+
const wt = ft ? Tt(ft) : "";
|
|
4941
|
+
let lt = At.margin === 0 || At.margin ? At.margin : Ua;
|
|
4861
4942
|
!Array.isArray(lt) && typeof lt == "number" && (lt = [lt, lt, lt, lt]);
|
|
4862
4943
|
let kt = "";
|
|
4863
|
-
lt[0] >= 1 ? kt = ` marL="${et(lt[3])}" marR="${et(lt[1])}" marT="${et(lt[0])}" marB="${et(lt[2])}"` : kt = ` marL="${ct(lt[3])}" marR="${ct(lt[1])}" marT="${ct(lt[0])}" marB="${ct(lt[2])}"`, P += `<a:tc${Y}>${
|
|
4944
|
+
lt[0] >= 1 ? kt = ` marL="${et(lt[3])}" marR="${et(lt[1])}" marT="${et(lt[0])}" marB="${et(lt[2])}"` : kt = ` marL="${ct(lt[3])}" marR="${ct(lt[1])}" marT="${ct(lt[0])}" marB="${ct(lt[2])}"`, P += `<a:tc${Y}>${Ca(j)}<a:tcPr${kt}${xt}${dt}>`, At.border && Array.isArray(At.border) && [
|
|
4864
4945
|
{ idx: 3, name: "lnL" },
|
|
4865
4946
|
{ idx: 1, name: "lnR" },
|
|
4866
4947
|
{ idx: 0, name: "lnT" },
|
|
@@ -4908,15 +4989,15 @@ function ia(t) {
|
|
|
4908
4989
|
}
|
|
4909
4990
|
e += "</a:avLst></a:prstGeom>";
|
|
4910
4991
|
}
|
|
4911
|
-
e += a.options.fill ?
|
|
4992
|
+
e += a.options.fill ? Tt(a.options.fill) : "<a:noFill/>", a.options.line && (e += a.options.line.width ? `<a:ln w="${et(a.options.line.width)}">` : "<a:ln>", a.options.line.color && (e += Tt(a.options.line)), a.options.line.dashType && (e += `<a:prstDash val="${a.options.line.dashType}"/>`), a.options.line.beginArrowType && (e += `<a:headEnd type="${a.options.line.beginArrowType}"/>`), a.options.line.endArrowType && (e += `<a:tailEnd type="${a.options.line.endArrowType}"/>`), e += "</a:ln>"), a.options.shadow && a.options.shadow.type !== "none" && (a.options.shadow.type = a.options.shadow.type || "outer", a.options.shadow.blur = et(a.options.shadow.blur || 8), a.options.shadow.offset = et(a.options.shadow.offset || 4), a.options.shadow.angle = Math.round((a.options.shadow.angle || 270) * 6e4), a.options.shadow.opacity = Math.round((a.options.shadow.opacity || 0.75) * 1e5), a.options.shadow.color = a.options.shadow.color || ya.color, e += "<a:effectLst>", e += ` <a:${a.options.shadow.type}Shdw ${a.options.shadow.type === "outer" ? 'sx="100000" sy="100000" kx="0" ky="0" algn="bl" rotWithShape="0"' : ""} blurRad="${a.options.shadow.blur}" dist="${a.options.shadow.offset}" dir="${a.options.shadow.angle}">`, e += ` <a:srgbClr val="${a.options.shadow.color}">`, e += ` <a:alpha val="${a.options.shadow.opacity}"/></a:srgbClr>`, e += " </a:outerShdw>", e += "</a:effectLst>"), e += "</p:spPr>", e += Ca(a), e += "</p:sp>";
|
|
4912
4993
|
break;
|
|
4913
4994
|
case nt.image:
|
|
4914
4995
|
if (e += "<p:pic>", e += " <p:nvPicPr>", e += `<p:cNvPr id="${i + 2}" name="${a.options.objectName}" descr="${rt(a.options.altText || a.image)}">`, !((g = a.hyperlink) === null || g === void 0) && g.url && (e += `<a:hlinkClick r:id="rId${a.hyperlink._rId}" tooltip="${a.hyperlink.tooltip ? rt(a.hyperlink.tooltip) : ""}"/>`), !((d = a.hyperlink) === null || d === void 0) && d.slide && (e += `<a:hlinkClick r:id="rId${a.hyperlink._rId}" tooltip="${a.hyperlink.tooltip ? rt(a.hyperlink.tooltip) : ""}" action="ppaction://hlinksldjump"/>`), e += " </p:cNvPr>", e += ' <p:cNvPicPr><a:picLocks noChangeAspect="1"/></p:cNvPicPr>', e += " <p:nvPr>" + Ce(b) + "</p:nvPr>", e += " </p:nvPicPr>", e += "<p:blipFill>", (t._relsMedia || []).filter((p) => p.rId === a.imageRid)[0] && (t._relsMedia || []).filter((p) => p.rId === a.imageRid)[0].extn === "svg" ? (e += `<a:blip r:embed="rId${a.imageRid - 1}">`, e += a.options.transparency ? ` <a:alphaModFix amt="${Math.round((100 - a.options.transparency) * 1e3)}"/>` : "", e += " <a:extLst>", e += ' <a:ext uri="{96DAC541-7B7A-43D3-8B79-37D633B846F1}">', e += ` <asvg:svgBlip xmlns:asvg="http://schemas.microsoft.com/office/drawing/2016/SVG/main" r:embed="rId${a.imageRid}"/>`, e += " </a:ext>", e += " </a:extLst>", e += "</a:blip>") : (e += `<a:blip r:embed="rId${a.imageRid}">`, e += a.options.transparency ? `<a:alphaModFix amt="${Math.round((100 - a.options.transparency) * 1e3)}"/>` : "", e += "</a:blip>"), E?.type) {
|
|
4915
4996
|
const p = E.w ? it(E.w, "X", t._presLayout) : y, I = E.h ? it(E.h, "Y", t._presLayout) : v, K = it(E.x || 0, "X", t._presLayout), O = it(E.y || 0, "Y", t._presLayout);
|
|
4916
|
-
e +=
|
|
4997
|
+
e += $r[E.type]({ w: B, h: M }, { w: p, h: I, x: K, y: O }), B = p, M = I;
|
|
4917
4998
|
} else
|
|
4918
4999
|
e += " <a:stretch><a:fillRect/></a:stretch>";
|
|
4919
|
-
e += "</p:blipFill>", e += "<p:spPr>", e += " <a:xfrm" + x + ">", e += ` <a:off x="${m}" y="${u}"/>`, e += ` <a:ext cx="${B}" cy="${
|
|
5000
|
+
e += "</p:blipFill>", e += "<p:spPr>", e += " <a:xfrm" + x + ">", e += ` <a:off x="${m}" y="${u}"/>`, e += ` <a:ext cx="${B}" cy="${M}"/>`, e += " </a:xfrm>", e += ` <a:prstGeom prst="${J ? "ellipse" : "rect"}"><a:avLst/></a:prstGeom>`, a.options.shadow && a.options.shadow.type !== "none" && (a.options.shadow.type = a.options.shadow.type || "outer", a.options.shadow.blur = et(a.options.shadow.blur || 8), a.options.shadow.offset = et(a.options.shadow.offset || 4), a.options.shadow.angle = Math.round((a.options.shadow.angle || 270) * 6e4), a.options.shadow.opacity = Math.round((a.options.shadow.opacity || 0.75) * 1e5), a.options.shadow.color = a.options.shadow.color || ya.color, e += "<a:effectLst>", e += `<a:${a.options.shadow.type}Shdw ${a.options.shadow.type === "outer" ? 'sx="100000" sy="100000" kx="0" ky="0" algn="bl" rotWithShape="0"' : ""} blurRad="${a.options.shadow.blur}" dist="${a.options.shadow.offset}" dir="${a.options.shadow.angle}">`, e += `<a:srgbClr val="${a.options.shadow.color}">`, e += `<a:alpha val="${a.options.shadow.opacity}"/></a:srgbClr>`, e += `</a:${a.options.shadow.type}Shdw>`, e += "</a:effectLst>"), e += "</p:spPr>", e += "</p:pic>";
|
|
4920
5001
|
break;
|
|
4921
5002
|
case nt.media:
|
|
4922
5003
|
a.mtype === "online" ? (e += "<p:pic>", e += " <p:nvPicPr>", e += `<p:cNvPr id="${a.mediaRid + 2}" name="${a.options.objectName}"/>`, e += " <p:cNvPicPr/>", e += " <p:nvPr>", e += ` <a:videoFile r:link="rId${a.mediaRid}"/>`, e += " </p:nvPr>", e += " </p:nvPicPr>", e += ` <p:blipFill><a:blip r:embed="rId${a.mediaRid + 1}"/><a:stretch><a:fillRect/></a:stretch></p:blipFill>`, e += " <p:spPr>", e += ` <a:xfrm${x}><a:off x="${m}" y="${u}"/><a:ext cx="${y}" cy="${v}"/></a:xfrm>`, e += ' <a:prstGeom prst="rect"><a:avLst/></a:prstGeom>', e += " </p:spPr>", e += "</p:pic>") : (e += "<p:pic>", e += " <p:nvPicPr>", e += `<p:cNvPr id="${a.mediaRid + 2}" name="${a.options.objectName}"><a:hlinkClick r:id="" action="ppaction://media"/></p:cNvPr>`, e += ' <p:cNvPicPr><a:picLocks noChangeAspect="1"/></p:cNvPicPr>', e += " <p:nvPr>", e += ` <a:videoFile r:link="rId${a.mediaRid}"/>`, e += " <p:extLst>", e += ' <p:ext uri="{DAA4B4D4-6D71-4841-9C94-3DE7FCFB9230}">', e += ` <p14:media xmlns:p14="http://schemas.microsoft.com/office/powerpoint/2010/main" r:embed="rId${a.mediaRid + 1}"/>`, e += " </p:ext>", e += " </p:extLst>", e += " </p:nvPr>", e += " </p:nvPicPr>", e += ` <p:blipFill><a:blip r:embed="rId${a.mediaRid + 2}"/><a:stretch><a:fillRect/></a:stretch></p:blipFill>`, e += " <p:spPr>", e += ` <a:xfrm${x}><a:off x="${m}" y="${u}"/><a:ext cx="${y}" cy="${v}"/></a:xfrm>`, e += ' <a:prstGeom prst="rect"><a:avLst/></a:prstGeom>', e += " </p:spPr>", e += "</p:pic>");
|
|
@@ -4928,9 +5009,9 @@ function ia(t) {
|
|
|
4928
5009
|
e += "";
|
|
4929
5010
|
break;
|
|
4930
5011
|
}
|
|
4931
|
-
}), t._slideNumberProps && (t._slideNumberProps.align || (t._slideNumberProps.align = "left"), e += "<p:sp>", e += " <p:nvSpPr>", e += ' <p:cNvPr id="25" name="Slide Number Placeholder 0"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr>', e += ' <p:nvPr><p:ph type="sldNum" sz="quarter" idx="4294967295"/></p:nvPr>', e += " </p:nvSpPr>", e += " <p:spPr>", e += `<a:xfrm><a:off x="${it(t._slideNumberProps.x, "X", t._presLayout)}" y="${it(t._slideNumberProps.y, "Y", t._presLayout)}"/><a:ext cx="${t._slideNumberProps.w ? it(t._slideNumberProps.w, "X", t._presLayout) : "800000"}" cy="${t._slideNumberProps.h ? it(t._slideNumberProps.h, "Y", t._presLayout) : "300000"}"/></a:xfrm> <a:prstGeom prst="rect"><a:avLst/></a:prstGeom> <a:extLst><a:ext uri="{C572A759-6A51-4108-AA02-DFA0A04FC94B}"><ma14:wrappingTextBoxFlag val="0" xmlns:ma14="http://schemas.microsoft.com/office/mac/drawingml/2011/main"/></a:ext></a:extLst></p:spPr>`, e += "<p:txBody>", e += "<a:bodyPr", t._slideNumberProps.margin && Array.isArray(t._slideNumberProps.margin) ? (e += ` lIns="${et(t._slideNumberProps.margin[3] || 0)}"`, e += ` tIns="${et(t._slideNumberProps.margin[0] || 0)}"`, e += ` rIns="${et(t._slideNumberProps.margin[1] || 0)}"`, e += ` bIns="${et(t._slideNumberProps.margin[2] || 0)}"`) : typeof t._slideNumberProps.margin == "number" && (e += ` lIns="${et(t._slideNumberProps.margin || 0)}"`, e += ` tIns="${et(t._slideNumberProps.margin || 0)}"`, e += ` rIns="${et(t._slideNumberProps.margin || 0)}"`, e += ` bIns="${et(t._slideNumberProps.margin || 0)}"`), t._slideNumberProps.valign && (e += ` anchor="${t._slideNumberProps.valign.replace("top", "t").replace("middle", "ctr").replace("bottom", "b")}"`), e += "/>", e += " <a:lstStyle><a:lvl1pPr>", (t._slideNumberProps.fontFace || t._slideNumberProps.fontSize || t._slideNumberProps.color) && (e += `<a:defRPr sz="${Math.round((t._slideNumberProps.fontSize || 12) * 100)}">`, t._slideNumberProps.color && (e +=
|
|
5012
|
+
}), t._slideNumberProps && (t._slideNumberProps.align || (t._slideNumberProps.align = "left"), e += "<p:sp>", e += " <p:nvSpPr>", e += ' <p:cNvPr id="25" name="Slide Number Placeholder 0"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr>', e += ' <p:nvPr><p:ph type="sldNum" sz="quarter" idx="4294967295"/></p:nvPr>', e += " </p:nvSpPr>", e += " <p:spPr>", e += `<a:xfrm><a:off x="${it(t._slideNumberProps.x, "X", t._presLayout)}" y="${it(t._slideNumberProps.y, "Y", t._presLayout)}"/><a:ext cx="${t._slideNumberProps.w ? it(t._slideNumberProps.w, "X", t._presLayout) : "800000"}" cy="${t._slideNumberProps.h ? it(t._slideNumberProps.h, "Y", t._presLayout) : "300000"}"/></a:xfrm> <a:prstGeom prst="rect"><a:avLst/></a:prstGeom> <a:extLst><a:ext uri="{C572A759-6A51-4108-AA02-DFA0A04FC94B}"><ma14:wrappingTextBoxFlag val="0" xmlns:ma14="http://schemas.microsoft.com/office/mac/drawingml/2011/main"/></a:ext></a:extLst></p:spPr>`, e += "<p:txBody>", e += "<a:bodyPr", t._slideNumberProps.margin && Array.isArray(t._slideNumberProps.margin) ? (e += ` lIns="${et(t._slideNumberProps.margin[3] || 0)}"`, e += ` tIns="${et(t._slideNumberProps.margin[0] || 0)}"`, e += ` rIns="${et(t._slideNumberProps.margin[1] || 0)}"`, e += ` bIns="${et(t._slideNumberProps.margin[2] || 0)}"`) : typeof t._slideNumberProps.margin == "number" && (e += ` lIns="${et(t._slideNumberProps.margin || 0)}"`, e += ` tIns="${et(t._slideNumberProps.margin || 0)}"`, e += ` rIns="${et(t._slideNumberProps.margin || 0)}"`, e += ` bIns="${et(t._slideNumberProps.margin || 0)}"`), t._slideNumberProps.valign && (e += ` anchor="${t._slideNumberProps.valign.replace("top", "t").replace("middle", "ctr").replace("bottom", "b")}"`), e += "/>", e += " <a:lstStyle><a:lvl1pPr>", (t._slideNumberProps.fontFace || t._slideNumberProps.fontSize || t._slideNumberProps.color) && (e += `<a:defRPr sz="${Math.round((t._slideNumberProps.fontSize || 12) * 100)}">`, t._slideNumberProps.color && (e += Tt(t._slideNumberProps.color)), t._slideNumberProps.fontFace && (e += `<a:latin typeface="${t._slideNumberProps.fontFace}"/><a:ea typeface="${t._slideNumberProps.fontFace}"/><a:cs typeface="${t._slideNumberProps.fontFace}"/>`), e += "</a:defRPr>"), e += "</a:lvl1pPr></a:lstStyle>", e += "<a:p>", t._slideNumberProps.align.startsWith("l") ? e += '<a:pPr algn="l"/>' : t._slideNumberProps.align.startsWith("c") ? e += '<a:pPr algn="ctr"/>' : t._slideNumberProps.align.startsWith("r") ? e += '<a:pPr algn="r"/>' : e += '<a:pPr algn="l"/>', e += `<a:fld id="${Ga}" type="slidenum"><a:rPr b="${t._slideNumberProps.bold ? 1 : 0}" lang="en-US"/>`, e += `<a:t>${t._slideNum}</a:t></a:fld><a:endParaRPr lang="en-US"/></a:p>`, e += "</p:txBody></p:sp>"), e += "</p:spTree>", e += "</p:cSld>", e;
|
|
4932
5013
|
}
|
|
4933
|
-
function
|
|
5014
|
+
function sa(t, n) {
|
|
4934
5015
|
let e = 0, A = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' + Bt + '<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">';
|
|
4935
5016
|
return t._rels.forEach((a) => {
|
|
4936
5017
|
e = Math.max(e, a.rId), a.type.toLowerCase().includes("hyperlink") ? a.data === "slide" ? A += `<Relationship Id="rId${a.rId}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" Target="slide${a.Target}.xml"/>` : A += `<Relationship Id="rId${a.rId}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="${a.Target}" TargetMode="External"/>` : a.type.toLowerCase().includes("notesSlide") && (A += `<Relationship Id="rId${a.rId}" Target="${a.Target}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide"/>`);
|
|
@@ -4943,11 +5024,11 @@ function Aa(t, n) {
|
|
|
4943
5024
|
A += `<Relationship Id="rId${e + i + 1}" Type="${a.type}" Target="${a.target}"/>`;
|
|
4944
5025
|
}), A += "</Relationships>", A;
|
|
4945
5026
|
}
|
|
4946
|
-
function
|
|
5027
|
+
function xa(t, n) {
|
|
4947
5028
|
var e, A;
|
|
4948
5029
|
let a = "", i = "", s = "", c = "";
|
|
4949
5030
|
const l = n ? "a:lvl1pPr" : "a:pPr";
|
|
4950
|
-
let r = et(
|
|
5031
|
+
let r = et(Mr), o = `<${l}${t.options.rtlMode ? ' rtl="1" ' : ""}`;
|
|
4951
5032
|
{
|
|
4952
5033
|
if (t.options.align)
|
|
4953
5034
|
switch (t.options.align) {
|
|
@@ -4972,22 +5053,22 @@ function ba(t, n) {
|
|
|
4972
5053
|
t.options.bullet.type.toString().toLowerCase() === "number" && (o += ` marL="${t.options.indentLevel && t.options.indentLevel > 0 ? r + r * t.options.indentLevel : r}" indent="-${r}"`, a = `<a:buSzPct val="100000"/><a:buFont typeface="+mj-lt"/><a:buAutoNum type="${t.options.bullet.style || "arabicPeriod"}" startAt="${t.options.bullet.numberStartAt || t.options.bullet.startAt || "1"}"/>`);
|
|
4973
5054
|
else if (t.options.bullet.characterCode) {
|
|
4974
5055
|
let f = `&#x${t.options.bullet.characterCode};`;
|
|
4975
|
-
/^[0-9A-Fa-f]{4}$/.test(t.options.bullet.characterCode) || (console.warn("Warning: `bullet.characterCode should be a 4-digit unicode charatcer (ex: 22AB)`!"), f =
|
|
5056
|
+
/^[0-9A-Fa-f]{4}$/.test(t.options.bullet.characterCode) || (console.warn("Warning: `bullet.characterCode should be a 4-digit unicode charatcer (ex: 22AB)`!"), f = ne.DEFAULT), o += ` marL="${t.options.indentLevel && t.options.indentLevel > 0 ? r + r * t.options.indentLevel : r}" indent="-${r}"`, a = '<a:buSzPct val="100000"/><a:buChar char="' + f + '"/>';
|
|
4976
5057
|
} else if (t.options.bullet.code) {
|
|
4977
5058
|
let f = `&#x${t.options.bullet.code};`;
|
|
4978
|
-
/^[0-9A-Fa-f]{4}$/.test(t.options.bullet.code) || (console.warn("Warning: `bullet.code should be a 4-digit hex code (ex: 22AB)`!"), f =
|
|
5059
|
+
/^[0-9A-Fa-f]{4}$/.test(t.options.bullet.code) || (console.warn("Warning: `bullet.code should be a 4-digit hex code (ex: 22AB)`!"), f = ne.DEFAULT), o += ` marL="${t.options.indentLevel && t.options.indentLevel > 0 ? r + r * t.options.indentLevel : r}" indent="-${r}"`, a = '<a:buSzPct val="100000"/><a:buChar char="' + f + '"/>';
|
|
4979
5060
|
} else
|
|
4980
|
-
o += ` marL="${t.options.indentLevel && t.options.indentLevel > 0 ? r + r * t.options.indentLevel : r}" indent="-${r}"`, a = `<a:buSzPct val="100000"/><a:buChar char="${
|
|
4981
|
-
else t.options.bullet ? (o += ` marL="${t.options.indentLevel && t.options.indentLevel > 0 ? r + r * t.options.indentLevel : r}" indent="-${r}"`, a = `<a:buSzPct val="100000"/><a:buChar char="${
|
|
4982
|
-
t.options.tabStops && Array.isArray(t.options.tabStops) && (c = `<a:tabLst>${t.options.tabStops.map((g) => `<a:tab pos="${ct(g.position || 1)}" algn="${g.alignment || "l"}"/>`).join("")}</a:tabLst>`), o += ">" + i + s + a + c, n && (o +=
|
|
5061
|
+
o += ` marL="${t.options.indentLevel && t.options.indentLevel > 0 ? r + r * t.options.indentLevel : r}" indent="-${r}"`, a = `<a:buSzPct val="100000"/><a:buChar char="${ne.DEFAULT}"/>`;
|
|
5062
|
+
else t.options.bullet ? (o += ` marL="${t.options.indentLevel && t.options.indentLevel > 0 ? r + r * t.options.indentLevel : r}" indent="-${r}"`, a = `<a:buSzPct val="100000"/><a:buChar char="${ne.DEFAULT}"/>`) : t.options.bullet || (o += ' indent="0" marL="0"', a = "<a:buNone/>");
|
|
5063
|
+
t.options.tabStops && Array.isArray(t.options.tabStops) && (c = `<a:tabLst>${t.options.tabStops.map((g) => `<a:tab pos="${ct(g.position || 1)}" algn="${g.alignment || "l"}"/>`).join("")}</a:tabLst>`), o += ">" + i + s + a + c, n && (o += qa(t.options, !0)), o += "</" + l + ">";
|
|
4983
5064
|
}
|
|
4984
5065
|
return o;
|
|
4985
5066
|
}
|
|
4986
|
-
function
|
|
5067
|
+
function qa(t, n) {
|
|
4987
5068
|
var e;
|
|
4988
5069
|
let A = "";
|
|
4989
5070
|
const a = n ? "a:defRPr" : "a:rPr";
|
|
4990
|
-
if (A += "<" + a + ' lang="' + (t.lang ? t.lang : "en-US") + '"' + (t.lang ? ' altLang="en-US"' : ""), A += t.fontSize ? ` sz="${Math.round(t.fontSize * 100)}"` : "", A += t?.bold ? ` b="${t.bold ? "1" : "0"}"` : "", A += t?.italic ? ` i="${t.italic ? "1" : "0"}"` : "", A += t?.strike ? ` strike="${typeof t.strike == "string" ? t.strike : "sngStrike"}"` : "", typeof t.underline == "object" && (!((e = t.underline) === null || e === void 0) && e.style) ? A += ` u="${t.underline.style}"` : typeof t.underline == "string" ? A += ` u="${String(t.underline)}"` : t.hyperlink && (A += ' u="sng"'), t.baseline ? A += ` baseline="${Math.round(t.baseline * 50)}"` : t.subscript ? A += ' baseline="-40000"' : t.superscript && (A += ' baseline="30000"'), A += t.charSpacing ? ` spc="${Math.round(t.charSpacing * 100)}" kern="0"` : "", A += ' dirty="0">', (t.color || t.fontFace || t.outline || typeof t.underline == "object" && t.underline.color) && (t.outline && typeof t.outline == "object" && (A += `<a:ln w="${et(t.outline.size || 0.75)}">${
|
|
5071
|
+
if (A += "<" + a + ' lang="' + (t.lang ? t.lang : "en-US") + '"' + (t.lang ? ' altLang="en-US"' : ""), A += t.fontSize ? ` sz="${Math.round(t.fontSize * 100)}"` : "", A += t?.bold ? ` b="${t.bold ? "1" : "0"}"` : "", A += t?.italic ? ` i="${t.italic ? "1" : "0"}"` : "", A += t?.strike ? ` strike="${typeof t.strike == "string" ? t.strike : "sngStrike"}"` : "", typeof t.underline == "object" && (!((e = t.underline) === null || e === void 0) && e.style) ? A += ` u="${t.underline.style}"` : typeof t.underline == "string" ? A += ` u="${String(t.underline)}"` : t.hyperlink && (A += ' u="sng"'), t.baseline ? A += ` baseline="${Math.round(t.baseline * 50)}"` : t.subscript ? A += ' baseline="-40000"' : t.superscript && (A += ' baseline="30000"'), A += t.charSpacing ? ` spc="${Math.round(t.charSpacing * 100)}" kern="0"` : "", A += ' dirty="0">', (t.color || t.fontFace || t.outline || typeof t.underline == "object" && t.underline.color) && (t.outline && typeof t.outline == "object" && (A += `<a:ln w="${et(t.outline.size || 0.75)}">${Tt(t.outline.color || "FFFFFF")}</a:ln>`), t.color && (A += Tt({ color: t.color, transparency: t.transparency })), t.highlight && (A += `<a:highlight>${ht(t.highlight)}</a:highlight>`), typeof t.underline == "object" && t.underline.color && (A += `<a:uFill>${Tt(t.underline.color)}</a:uFill>`), t.glow && (A += `<a:effectLst>${Or(t.glow, Er)}</a:effectLst>`), t.fontFace && (A += `<a:latin typeface="${t.fontFace}" pitchFamily="34" charset="0"/><a:ea typeface="${t.fontFace}" pitchFamily="34" charset="-122"/><a:cs typeface="${t.fontFace}" pitchFamily="34" charset="-120"/>`)), t.hyperlink) {
|
|
4991
5072
|
if (typeof t.hyperlink != "object")
|
|
4992
5073
|
throw new Error("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink:{url:'https://github.com'}` ");
|
|
4993
5074
|
if (!t.hyperlink.url && !t.hyperlink.slide)
|
|
@@ -4996,21 +5077,21 @@ function Va(t, n) {
|
|
|
4996
5077
|
}
|
|
4997
5078
|
return A += `</${a}>`, A;
|
|
4998
5079
|
}
|
|
4999
|
-
function
|
|
5000
|
-
return t.text ? `<a:r>${
|
|
5080
|
+
function tn(t) {
|
|
5081
|
+
return t.text ? `<a:r>${qa(t.options, !1)}<a:t>${rt(t.text)}</a:t></a:r>` : "";
|
|
5001
5082
|
}
|
|
5002
|
-
function
|
|
5083
|
+
function en(t) {
|
|
5003
5084
|
let n = "<a:bodyPr";
|
|
5004
5085
|
return t && t._type === nt.text && t.options._bodyProp ? (n += t.options._bodyProp.wrap ? ' wrap="square"' : ' wrap="none"', (t.options._bodyProp.lIns || t.options._bodyProp.lIns === 0) && (n += ` lIns="${t.options._bodyProp.lIns}"`), (t.options._bodyProp.tIns || t.options._bodyProp.tIns === 0) && (n += ` tIns="${t.options._bodyProp.tIns}"`), (t.options._bodyProp.rIns || t.options._bodyProp.rIns === 0) && (n += ` rIns="${t.options._bodyProp.rIns}"`), (t.options._bodyProp.bIns || t.options._bodyProp.bIns === 0) && (n += ` bIns="${t.options._bodyProp.bIns}"`), n += ' rtlCol="0"', t.options._bodyProp.anchor && (n += ' anchor="' + t.options._bodyProp.anchor + '"'), t.options._bodyProp.vert && (n += ' vert="' + t.options._bodyProp.vert + '"'), n += ">", t.options.fit && (t.options.fit === "none" ? n += "" : t.options.fit === "shrink" ? n += "<a:normAutofit/>" : t.options.fit === "resize" && (n += "<a:spAutoFit/>")), t.options.shrinkText && (n += "<a:normAutofit/>"), n += t.options._bodyProp.autoFit ? "<a:spAutoFit/>" : "", n += "</a:bodyPr>") : (n += ' wrap="square" rtlCol="0">', n += "</a:bodyPr>"), t._type === nt.tablecell ? "<a:bodyPr/>" : n;
|
|
5005
5086
|
}
|
|
5006
|
-
function
|
|
5087
|
+
function Ca(t) {
|
|
5007
5088
|
const n = t.options || {};
|
|
5008
5089
|
let e = [];
|
|
5009
5090
|
const A = [];
|
|
5010
5091
|
if (n && t._type !== nt.tablecell && (typeof t.text > "u" || t.text === null))
|
|
5011
5092
|
return "";
|
|
5012
5093
|
let a = t._type === nt.tablecell ? "<a:txBody>" : "<p:txBody>";
|
|
5013
|
-
a +=
|
|
5094
|
+
a += en(t), n.h === 0 && n.line && n.align ? a += '<a:lstStyle><a:lvl1pPr algn="l"/></a:lstStyle>' : t._type === "placeholder" ? a += `<a:lstStyle>${xa(t, !0)}</a:lstStyle>` : a += "<a:lstStyle/>", typeof t.text == "string" || typeof t.text == "number" ? e.push({ text: t.text.toString(), options: n || {} }) : t.text && !Array.isArray(t.text) && typeof t.text == "object" && Object.keys(t.text).includes("text") ? e.push({ text: t.text || "", options: t.options || {} }) : Array.isArray(t.text) && (e = t.text.map((c) => ({ text: c.text, options: c.options }))), e.forEach((c, l) => {
|
|
5014
5095
|
c.text || (c.text = ""), c.options = c.options || n || {}, l === 0 && c.options && !c.options.bullet && n.bullet && (c.options.bullet = n.bullet), (typeof c.text == "string" || typeof c.text == "number") && (c.text = c.text.toString().replace(/\r*\n/g, Bt)), c.text.includes(Bt) && c.text.match(/\n$/g) === null ? c.text.split(Bt).forEach((r) => {
|
|
5015
5096
|
c.options.breakLine = !0, A.push({ text: r, options: c.options });
|
|
5016
5097
|
}) : A.push(c);
|
|
@@ -5025,9 +5106,9 @@ function wa(t) {
|
|
|
5025
5106
|
a += "<a:p>";
|
|
5026
5107
|
let o = `<a:pPr ${!((l = c[0].options) === null || l === void 0) && l.rtlMode ? ' rtl="1" ' : ""}`;
|
|
5027
5108
|
c.forEach((f, g) => {
|
|
5028
|
-
f.options._lineIdx = g, g > 0 && f.options.softBreakBefore && (a += "<a:br/>"), f.options.align = f.options.align || n.align, f.options.lineSpacing = f.options.lineSpacing || n.lineSpacing, f.options.lineSpacingMultiple = f.options.lineSpacingMultiple || n.lineSpacingMultiple, f.options.indentLevel = f.options.indentLevel || n.indentLevel, f.options.paraSpaceBefore = f.options.paraSpaceBefore || n.paraSpaceBefore, f.options.paraSpaceAfter = f.options.paraSpaceAfter || n.paraSpaceAfter, o =
|
|
5109
|
+
f.options._lineIdx = g, g > 0 && f.options.softBreakBefore && (a += "<a:br/>"), f.options.align = f.options.align || n.align, f.options.lineSpacing = f.options.lineSpacing || n.lineSpacing, f.options.lineSpacingMultiple = f.options.lineSpacingMultiple || n.lineSpacingMultiple, f.options.indentLevel = f.options.indentLevel || n.indentLevel, f.options.paraSpaceBefore = f.options.paraSpaceBefore || n.paraSpaceBefore, f.options.paraSpaceAfter = f.options.paraSpaceAfter || n.paraSpaceAfter, o = xa(f, !1), a += o.replace("<a:pPr></a:pPr>", ""), Object.entries(n).filter(([d]) => !(f.options.hyperlink && d === "color")).forEach(([d, m]) => {
|
|
5029
5110
|
d !== "bullet" && !f.options[d] && (f.options[d] = m);
|
|
5030
|
-
}), a +=
|
|
5111
|
+
}), a += tn(f), (!f.text && n.fontSize || f.options.fontSize) && (r = !0, n.fontSize = n.fontSize || f.options.fontSize);
|
|
5031
5112
|
}), t._type === nt.tablecell && (n.fontSize || n.fontFace) ? n.fontFace ? (a += `<a:endParaRPr lang="${n.lang || "en-US"}"` + (n.fontSize ? ` sz="${Math.round(n.fontSize * 100)}"` : "") + ' dirty="0">', a += `<a:latin typeface="${n.fontFace}" charset="0"/>`, a += `<a:ea typeface="${n.fontFace}" charset="0"/>`, a += `<a:cs typeface="${n.fontFace}" charset="0"/>`, a += "</a:endParaRPr>") : a += `<a:endParaRPr lang="${n.lang || "en-US"}"` + (n.fontSize ? ` sz="${Math.round(n.fontSize * 100)}"` : "") + ' dirty="0"/>' : r ? a += `<a:endParaRPr lang="${n.lang || "en-US"}"` + (n.fontSize ? ` sz="${Math.round(n.fontSize * 100)}"` : "") + ' dirty="0"/>' : a += `<a:endParaRPr lang="${n.lang || "en-US"}" dirty="0"/>`, a += "</a:p>";
|
|
5032
5113
|
}), a.indexOf("<a:p>") === -1 && (a += "<a:p><a:endParaRPr/></a:p>"), a += t._type === nt.tablecell ? "</a:txBody>" : "</p:txBody>", a;
|
|
5033
5114
|
}
|
|
@@ -5042,7 +5123,7 @@ function Ce(t) {
|
|
|
5042
5123
|
${t.text && t.text.length > 0 ? ' hasCustomPrompt="1"' : ""}
|
|
5043
5124
|
/>`;
|
|
5044
5125
|
}
|
|
5045
|
-
function
|
|
5126
|
+
function an(t, n, e) {
|
|
5046
5127
|
let A = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' + Bt;
|
|
5047
5128
|
return A += '<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">', A += '<Default Extension="xml" ContentType="application/xml"/>', A += '<Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/>', A += '<Default Extension="jpeg" ContentType="image/jpeg"/>', A += '<Default Extension="jpg" ContentType="image/jpg"/>', A += '<Default Extension="svg" ContentType="image/svg+xml"/>', A += '<Default Extension="png" ContentType="image/png"/>', A += '<Default Extension="gif" ContentType="image/gif"/>', A += '<Default Extension="m4v" ContentType="video/mp4"/>', A += '<Default Extension="mp4" ContentType="video/mp4"/>', t.forEach((a) => {
|
|
5048
5129
|
(a._relsMedia || []).forEach((i) => {
|
|
@@ -5064,14 +5145,14 @@ function Zr(t, n, e) {
|
|
|
5064
5145
|
a.type !== "image" && a.type !== "online" && a.type !== "chart" && a.extn !== "m4v" && !A.includes(a.type) && (A += ' <Default Extension="' + a.extn + '" ContentType="' + a.type + '"/>');
|
|
5065
5146
|
}), A += ' <Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/>', A += ' <Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/>', A += "</Types>", A;
|
|
5066
5147
|
}
|
|
5067
|
-
function
|
|
5148
|
+
function rn() {
|
|
5068
5149
|
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${Bt}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
|
5069
5150
|
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/>
|
|
5070
5151
|
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/>
|
|
5071
5152
|
<Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="ppt/presentation.xml"/>
|
|
5072
5153
|
</Relationships>`;
|
|
5073
5154
|
}
|
|
5074
|
-
function
|
|
5155
|
+
function nn(t, n) {
|
|
5075
5156
|
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${Bt}<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">
|
|
5076
5157
|
<TotalTime>0</TotalTime>
|
|
5077
5158
|
<Words>0</Words>
|
|
@@ -5108,7 +5189,7 @@ function tn(t, n) {
|
|
|
5108
5189
|
<AppVersion>16.0000</AppVersion>
|
|
5109
5190
|
</Properties>`;
|
|
5110
5191
|
}
|
|
5111
|
-
function
|
|
5192
|
+
function on(t, n, e, A) {
|
|
5112
5193
|
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
5113
5194
|
<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
5114
5195
|
<dc:title>${rt(t)}</dc:title>
|
|
@@ -5120,51 +5201,51 @@ function en(t, n, e, A) {
|
|
|
5120
5201
|
<dcterms:modified xsi:type="dcterms:W3CDTF">${(/* @__PURE__ */ new Date()).toISOString().replace(/\.\d\d\dZ/, "Z")}</dcterms:modified>
|
|
5121
5202
|
</cp:coreProperties>`;
|
|
5122
5203
|
}
|
|
5123
|
-
function
|
|
5204
|
+
function An(t) {
|
|
5124
5205
|
let n = 1, e = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' + Bt;
|
|
5125
5206
|
e += '<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">', e += '<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster" Target="slideMasters/slideMaster1.xml"/>';
|
|
5126
5207
|
for (let A = 1; A <= t.length; A++)
|
|
5127
5208
|
e += `<Relationship Id="rId${++n}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" Target="slides/slide${A}.xml"/>`;
|
|
5128
5209
|
return n++, e += `<Relationship Id="rId${n + 0}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesMaster" Target="notesMasters/notesMaster1.xml"/><Relationship Id="rId${n + 1}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/presProps" Target="presProps.xml"/><Relationship Id="rId${n + 2}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/viewProps" Target="viewProps.xml"/><Relationship Id="rId${n + 3}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/><Relationship Id="rId${n + 4}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/tableStyles" Target="tableStyles.xml"/></Relationships>`, e;
|
|
5129
5210
|
}
|
|
5130
|
-
function
|
|
5131
|
-
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${Bt}<p:sld xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"${t?.hidden ? ' show="0"' : ""}>${
|
|
5211
|
+
function sn(t) {
|
|
5212
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${Bt}<p:sld xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"${t?.hidden ? ' show="0"' : ""}>${Aa(t)}<p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr></p:sld>`;
|
|
5132
5213
|
}
|
|
5133
|
-
function
|
|
5214
|
+
function ln(t) {
|
|
5134
5215
|
let n = "";
|
|
5135
5216
|
return t._slideObjects.forEach((e) => {
|
|
5136
5217
|
e._type === nt.notes && (n += e?.text && e.text[0] ? e.text[0].text : "");
|
|
5137
5218
|
}), n.replace(/\r*\n/g, Bt);
|
|
5138
5219
|
}
|
|
5139
|
-
function
|
|
5220
|
+
function cn() {
|
|
5140
5221
|
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${Bt}<p:notesMaster xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"><p:cSld><p:bg><p:bgRef idx="1001"><a:schemeClr val="bg1"/></p:bgRef></p:bg><p:spTree><p:nvGrpSpPr><p:cNvPr id="1" name=""/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/><a:chOff x="0" y="0"/><a:chExt cx="0" cy="0"/></a:xfrm></p:grpSpPr><p:sp><p:nvSpPr><p:cNvPr id="2" name="Header Placeholder 1"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="hdr" sz="quarter"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="2971800" cy="458788"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0"/><a:lstStyle><a:lvl1pPr algn="l"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="3" name="Date Placeholder 2"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="dt" idx="1"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="3884613" y="0"/><a:ext cx="2971800" cy="458788"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0"/><a:lstStyle><a:lvl1pPr algn="r"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:fld id="{5282F153-3F37-0F45-9E97-73ACFA13230C}" type="datetimeFigureOut"><a:rPr lang="en-US"/><a:t>7/23/19</a:t></a:fld><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="4" name="Slide Image Placeholder 3"/><p:cNvSpPr><a:spLocks noGrp="1" noRot="1" noChangeAspect="1"/></p:cNvSpPr><p:nvPr><p:ph type="sldImg" idx="2"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="685800" y="1143000"/><a:ext cx="5486400" cy="3086100"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom><a:noFill/><a:ln w="12700"><a:solidFill><a:prstClr val="black"/></a:solidFill></a:ln></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="ctr"/><a:lstStyle/><a:p><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="5" name="Notes Placeholder 4"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="body" sz="quarter" idx="3"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="685800" y="4400550"/><a:ext cx="5486400" cy="3600450"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0"/><a:lstStyle/><a:p><a:pPr lvl="0"/><a:r><a:rPr lang="en-US"/><a:t>Click to edit Master text styles</a:t></a:r></a:p><a:p><a:pPr lvl="1"/><a:r><a:rPr lang="en-US"/><a:t>Second level</a:t></a:r></a:p><a:p><a:pPr lvl="2"/><a:r><a:rPr lang="en-US"/><a:t>Third level</a:t></a:r></a:p><a:p><a:pPr lvl="3"/><a:r><a:rPr lang="en-US"/><a:t>Fourth level</a:t></a:r></a:p><a:p><a:pPr lvl="4"/><a:r><a:rPr lang="en-US"/><a:t>Fifth level</a:t></a:r></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="6" name="Footer Placeholder 5"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="ftr" sz="quarter" idx="4"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="0" y="8685213"/><a:ext cx="2971800" cy="458787"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="b"/><a:lstStyle><a:lvl1pPr algn="l"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="7" name="Slide Number Placeholder 6"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="sldNum" sz="quarter" idx="5"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="3884613" y="8685213"/><a:ext cx="2971800" cy="458787"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="b"/><a:lstStyle><a:lvl1pPr algn="r"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:fld id="{CE5E9CC1-C706-0F49-92D6-E571CC5EEA8F}" type="slidenum"><a:rPr lang="en-US"/><a:t>‹#›</a:t></a:fld><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp></p:spTree><p:extLst><p:ext uri="{BB962C8B-B14F-4D97-AF65-F5344CB8AC3E}"><p14:creationId xmlns:p14="http://schemas.microsoft.com/office/powerpoint/2010/main" val="1024086991"/></p:ext></p:extLst></p:cSld><p:clrMap bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/><p:notesStyle><a:lvl1pPr marL="0" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl1pPr><a:lvl2pPr marL="457200" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl2pPr><a:lvl3pPr marL="914400" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl3pPr><a:lvl4pPr marL="1371600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl4pPr><a:lvl5pPr marL="1828800" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl5pPr><a:lvl6pPr marL="2286000" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl6pPr><a:lvl7pPr marL="2743200" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl7pPr><a:lvl8pPr marL="3200400" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl8pPr><a:lvl9pPr marL="3657600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl9pPr></p:notesStyle></p:notesMaster>`;
|
|
5141
5222
|
}
|
|
5142
|
-
function
|
|
5143
|
-
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${Bt}<p:notes xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"><p:cSld><p:spTree><p:nvGrpSpPr><p:cNvPr id="1" name=""/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/><a:chOff x="0" y="0"/><a:chExt cx="0" cy="0"/></a:xfrm></p:grpSpPr><p:sp><p:nvSpPr><p:cNvPr id="2" name="Slide Image Placeholder 1"/><p:cNvSpPr><a:spLocks noGrp="1" noRot="1" noChangeAspect="1"/></p:cNvSpPr><p:nvPr><p:ph type="sldImg"/></p:nvPr></p:nvSpPr><p:spPr/></p:sp><p:sp><p:nvSpPr><p:cNvPr id="3" name="Notes Placeholder 2"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="body" idx="1"/></p:nvPr></p:nvSpPr><p:spPr/><p:txBody><a:bodyPr/><a:lstStyle/><a:p><a:r><a:rPr lang="en-US" dirty="0"/><a:t>${rt(
|
|
5223
|
+
function dn(t) {
|
|
5224
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${Bt}<p:notes xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"><p:cSld><p:spTree><p:nvGrpSpPr><p:cNvPr id="1" name=""/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/><a:chOff x="0" y="0"/><a:chExt cx="0" cy="0"/></a:xfrm></p:grpSpPr><p:sp><p:nvSpPr><p:cNvPr id="2" name="Slide Image Placeholder 1"/><p:cNvSpPr><a:spLocks noGrp="1" noRot="1" noChangeAspect="1"/></p:cNvSpPr><p:nvPr><p:ph type="sldImg"/></p:nvPr></p:nvSpPr><p:spPr/></p:sp><p:sp><p:nvSpPr><p:cNvPr id="3" name="Notes Placeholder 2"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="body" idx="1"/></p:nvPr></p:nvSpPr><p:spPr/><p:txBody><a:bodyPr/><a:lstStyle/><a:p><a:r><a:rPr lang="en-US" dirty="0"/><a:t>${rt(ln(t))}</a:t></a:r><a:endParaRPr lang="en-US" dirty="0"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="4" name="Slide Number Placeholder 3"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="sldNum" sz="quarter" idx="10"/></p:nvPr></p:nvSpPr><p:spPr/><p:txBody><a:bodyPr/><a:lstStyle/><a:p><a:fld id="${Ga}" type="slidenum"><a:rPr lang="en-US"/><a:t>${t._slideNum}</a:t></a:fld><a:endParaRPr lang="en-US"/></a:p></p:txBody></p:sp></p:spTree><p:extLst><p:ext uri="{BB962C8B-B14F-4D97-AF65-F5344CB8AC3E}"><p14:creationId xmlns:p14="http://schemas.microsoft.com/office/powerpoint/2010/main" val="1024086991"/></p:ext></p:extLst></p:cSld><p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr></p:notes>`;
|
|
5144
5225
|
}
|
|
5145
|
-
function
|
|
5226
|
+
function fn(t) {
|
|
5146
5227
|
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
5147
5228
|
<p:sldLayout xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main" preserve="1">
|
|
5148
|
-
${
|
|
5229
|
+
${Aa(t)}
|
|
5149
5230
|
<p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr></p:sldLayout>`;
|
|
5150
5231
|
}
|
|
5151
|
-
function
|
|
5152
|
-
const e = n.map((a, i) => `<p:sldLayoutId id="${
|
|
5232
|
+
function hn(t, n) {
|
|
5233
|
+
const e = n.map((a, i) => `<p:sldLayoutId id="${Sr + i}" r:id="rId${t._rels.length + i + 1}"/>`);
|
|
5153
5234
|
let A = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' + Bt;
|
|
5154
|
-
return A += '<p:sldMaster xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">', A +=
|
|
5235
|
+
return A += '<p:sldMaster xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">', A += Aa(t), A += '<p:clrMap bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/>', A += "<p:sldLayoutIdLst>" + e.join("") + "</p:sldLayoutIdLst>", A += '<p:hf sldNum="0" hdr="0" ftr="0" dt="0"/>', A += '<p:txStyles> <p:titleStyle> <a:lvl1pPr algn="ctr" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:spcBef><a:spcPct val="0"/></a:spcBef><a:buNone/><a:defRPr sz="4400" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mj-lt"/><a:ea typeface="+mj-ea"/><a:cs typeface="+mj-cs"/></a:defRPr></a:lvl1pPr> </p:titleStyle> <p:bodyStyle> <a:lvl1pPr marL="342900" indent="-342900" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:spcBef><a:spcPct val="20000"/></a:spcBef><a:buFont typeface="Arial" pitchFamily="34" charset="0"/><a:buChar char="•"/><a:defRPr sz="3200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl1pPr> <a:lvl2pPr marL="742950" indent="-285750" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:spcBef><a:spcPct val="20000"/></a:spcBef><a:buFont typeface="Arial" pitchFamily="34" charset="0"/><a:buChar char="–"/><a:defRPr sz="2800" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl2pPr> <a:lvl3pPr marL="1143000" indent="-228600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:spcBef><a:spcPct val="20000"/></a:spcBef><a:buFont typeface="Arial" pitchFamily="34" charset="0"/><a:buChar char="•"/><a:defRPr sz="2400" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl3pPr> <a:lvl4pPr marL="1600200" indent="-228600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:spcBef><a:spcPct val="20000"/></a:spcBef><a:buFont typeface="Arial" pitchFamily="34" charset="0"/><a:buChar char="–"/><a:defRPr sz="2000" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl4pPr> <a:lvl5pPr marL="2057400" indent="-228600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:spcBef><a:spcPct val="20000"/></a:spcBef><a:buFont typeface="Arial" pitchFamily="34" charset="0"/><a:buChar char="»"/><a:defRPr sz="2000" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl5pPr> <a:lvl6pPr marL="2514600" indent="-228600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:spcBef><a:spcPct val="20000"/></a:spcBef><a:buFont typeface="Arial" pitchFamily="34" charset="0"/><a:buChar char="•"/><a:defRPr sz="2000" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl6pPr> <a:lvl7pPr marL="2971800" indent="-228600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:spcBef><a:spcPct val="20000"/></a:spcBef><a:buFont typeface="Arial" pitchFamily="34" charset="0"/><a:buChar char="•"/><a:defRPr sz="2000" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl7pPr> <a:lvl8pPr marL="3429000" indent="-228600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:spcBef><a:spcPct val="20000"/></a:spcBef><a:buFont typeface="Arial" pitchFamily="34" charset="0"/><a:buChar char="•"/><a:defRPr sz="2000" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl8pPr> <a:lvl9pPr marL="3886200" indent="-228600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:spcBef><a:spcPct val="20000"/></a:spcBef><a:buFont typeface="Arial" pitchFamily="34" charset="0"/><a:buChar char="•"/><a:defRPr sz="2000" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl9pPr> </p:bodyStyle> <p:otherStyle> <a:defPPr><a:defRPr lang="en-US"/></a:defPPr> <a:lvl1pPr marL="0" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1800" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl1pPr> <a:lvl2pPr marL="457200" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1800" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl2pPr> <a:lvl3pPr marL="914400" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1800" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl3pPr> <a:lvl4pPr marL="1371600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1800" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl4pPr> <a:lvl5pPr marL="1828800" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1800" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl5pPr> <a:lvl6pPr marL="2286000" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1800" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl6pPr> <a:lvl7pPr marL="2743200" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1800" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl7pPr> <a:lvl8pPr marL="3200400" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1800" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl8pPr> <a:lvl9pPr marL="3657600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1800" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl9pPr> </p:otherStyle></p:txStyles>', A += "</p:sldMaster>", A;
|
|
5155
5236
|
}
|
|
5156
|
-
function
|
|
5157
|
-
return
|
|
5237
|
+
function pn(t, n) {
|
|
5238
|
+
return sa(n[t - 1], [
|
|
5158
5239
|
{
|
|
5159
5240
|
target: "../slideMasters/slideMaster1.xml",
|
|
5160
5241
|
type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster"
|
|
5161
5242
|
}
|
|
5162
5243
|
]);
|
|
5163
5244
|
}
|
|
5164
|
-
function
|
|
5165
|
-
return
|
|
5245
|
+
function un(t, n, e) {
|
|
5246
|
+
return sa(t[e - 1], [
|
|
5166
5247
|
{
|
|
5167
|
-
target: `../slideLayouts/slideLayout${
|
|
5248
|
+
target: `../slideLayouts/slideLayout${yn(t, n, e)}.xml`,
|
|
5168
5249
|
type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"
|
|
5169
5250
|
},
|
|
5170
5251
|
{
|
|
@@ -5173,37 +5254,37 @@ function dn(t, n, e) {
|
|
|
5173
5254
|
}
|
|
5174
5255
|
]);
|
|
5175
5256
|
}
|
|
5176
|
-
function
|
|
5257
|
+
function gn(t) {
|
|
5177
5258
|
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
5178
5259
|
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
|
5179
5260
|
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesMaster" Target="../notesMasters/notesMaster1.xml"/>
|
|
5180
5261
|
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" Target="../slides/slide${t}.xml"/>
|
|
5181
5262
|
</Relationships>`;
|
|
5182
5263
|
}
|
|
5183
|
-
function
|
|
5264
|
+
function mn(t, n) {
|
|
5184
5265
|
const e = n.map((A, a) => ({
|
|
5185
5266
|
target: `../slideLayouts/slideLayout${a + 1}.xml`,
|
|
5186
5267
|
type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"
|
|
5187
5268
|
}));
|
|
5188
|
-
return e.push({ target: "../theme/theme1.xml", type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" }),
|
|
5269
|
+
return e.push({ target: "../theme/theme1.xml", type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" }), sa(t, e);
|
|
5189
5270
|
}
|
|
5190
|
-
function
|
|
5271
|
+
function vn() {
|
|
5191
5272
|
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${Bt}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
|
5192
5273
|
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="../theme/theme1.xml"/>
|
|
5193
5274
|
</Relationships>`;
|
|
5194
5275
|
}
|
|
5195
|
-
function
|
|
5276
|
+
function yn(t, n, e) {
|
|
5196
5277
|
for (let A = 0; A < n.length; A++)
|
|
5197
5278
|
if (n[A]._name === t[e - 1]._slideLayout._name)
|
|
5198
5279
|
return A + 1;
|
|
5199
5280
|
return 1;
|
|
5200
5281
|
}
|
|
5201
|
-
function
|
|
5282
|
+
function bn(t) {
|
|
5202
5283
|
var n, e, A, a;
|
|
5203
5284
|
const i = !((n = t.theme) === null || n === void 0) && n.headFontFace ? `<a:latin typeface="${(e = t.theme) === null || e === void 0 ? void 0 : e.headFontFace}"/>` : '<a:latin typeface="Calibri Light" panose="020F0302020204030204"/>', s = !((A = t.theme) === null || A === void 0) && A.bodyFontFace ? `<a:latin typeface="${(a = t.theme) === null || a === void 0 ? void 0 : a.bodyFontFace}"/>` : '<a:latin typeface="Calibri" panose="020F0502020204030204"/>';
|
|
5204
5285
|
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme"><a:themeElements><a:clrScheme name="Office"><a:dk1><a:sysClr val="windowText" lastClr="000000"/></a:dk1><a:lt1><a:sysClr val="window" lastClr="FFFFFF"/></a:lt1><a:dk2><a:srgbClr val="44546A"/></a:dk2><a:lt2><a:srgbClr val="E7E6E6"/></a:lt2><a:accent1><a:srgbClr val="4472C4"/></a:accent1><a:accent2><a:srgbClr val="ED7D31"/></a:accent2><a:accent3><a:srgbClr val="A5A5A5"/></a:accent3><a:accent4><a:srgbClr val="FFC000"/></a:accent4><a:accent5><a:srgbClr val="5B9BD5"/></a:accent5><a:accent6><a:srgbClr val="70AD47"/></a:accent6><a:hlink><a:srgbClr val="0563C1"/></a:hlink><a:folHlink><a:srgbClr val="954F72"/></a:folHlink></a:clrScheme><a:fontScheme name="Office"><a:majorFont>${i}<a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="游ゴシック Light"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="等线 Light"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Times New Roman"/><a:font script="Hebr" typeface="Times New Roman"/><a:font script="Thai" typeface="Angsana New"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="MoolBoran"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Times New Roman"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/><a:font script="Armn" typeface="Arial"/><a:font script="Bugi" typeface="Leelawadee UI"/><a:font script="Bopo" typeface="Microsoft JhengHei"/><a:font script="Java" typeface="Javanese Text"/><a:font script="Lisu" typeface="Segoe UI"/><a:font script="Mymr" typeface="Myanmar Text"/><a:font script="Nkoo" typeface="Ebrima"/><a:font script="Olck" typeface="Nirmala UI"/><a:font script="Osma" typeface="Ebrima"/><a:font script="Phag" typeface="Phagspa"/><a:font script="Syrn" typeface="Estrangelo Edessa"/><a:font script="Syrj" typeface="Estrangelo Edessa"/><a:font script="Syre" typeface="Estrangelo Edessa"/><a:font script="Sora" typeface="Nirmala UI"/><a:font script="Tale" typeface="Microsoft Tai Le"/><a:font script="Talu" typeface="Microsoft New Tai Lue"/><a:font script="Tfng" typeface="Ebrima"/></a:majorFont><a:minorFont>${s}<a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="游ゴシック"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="等线"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Arial"/><a:font script="Hebr" typeface="Arial"/><a:font script="Thai" typeface="Cordia New"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="DaunPenh"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Arial"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/><a:font script="Armn" typeface="Arial"/><a:font script="Bugi" typeface="Leelawadee UI"/><a:font script="Bopo" typeface="Microsoft JhengHei"/><a:font script="Java" typeface="Javanese Text"/><a:font script="Lisu" typeface="Segoe UI"/><a:font script="Mymr" typeface="Myanmar Text"/><a:font script="Nkoo" typeface="Ebrima"/><a:font script="Olck" typeface="Nirmala UI"/><a:font script="Osma" typeface="Ebrima"/><a:font script="Phag" typeface="Phagspa"/><a:font script="Syrn" typeface="Estrangelo Edessa"/><a:font script="Syrj" typeface="Estrangelo Edessa"/><a:font script="Syre" typeface="Estrangelo Edessa"/><a:font script="Sora" typeface="Nirmala UI"/><a:font script="Tale" typeface="Microsoft Tai Le"/><a:font script="Talu" typeface="Microsoft New Tai Lue"/><a:font script="Tfng" typeface="Ebrima"/></a:minorFont></a:fontScheme><a:fmtScheme name="Office"><a:fillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:lumMod val="110000"/><a:satMod val="105000"/><a:tint val="67000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:lumMod val="105000"/><a:satMod val="103000"/><a:tint val="73000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:lumMod val="105000"/><a:satMod val="109000"/><a:tint val="81000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:satMod val="103000"/><a:lumMod val="102000"/><a:tint val="94000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:satMod val="110000"/><a:lumMod val="100000"/><a:shade val="100000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:lumMod val="99000"/><a:satMod val="120000"/><a:shade val="78000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln w="6350" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln><a:ln w="12700" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln><a:ln w="19050" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad="57150" dist="19050" dir="5400000" algn="ctr" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="63000"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:solidFill><a:schemeClr val="phClr"><a:tint val="95000"/><a:satMod val="170000"/></a:schemeClr></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="93000"/><a:satMod val="150000"/><a:shade val="98000"/><a:lumMod val="102000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:tint val="98000"/><a:satMod val="130000"/><a:shade val="90000"/><a:lumMod val="103000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="63000"/><a:satMod val="120000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults/><a:extraClrSchemeLst/><a:extLst><a:ext uri="{05A4C25C-085E-4340-85A3-A5531E510DB2}"><thm15:themeFamily xmlns:thm15="http://schemas.microsoft.com/office/thememl/2012/main" name="Office Theme" id="{62F939B6-93AF-4DB8-9C6B-D6C7DFDC589F}" vid="{4A3C46E8-61CC-4603-A589-7422A47A8E4A}"/></a:ext></a:extLst></a:theme>`;
|
|
5205
5286
|
}
|
|
5206
|
-
function
|
|
5287
|
+
function wn(t) {
|
|
5207
5288
|
let n = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${Bt}<p:presentation xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main" ${t.rtlMode ? 'rtl="1"' : ""} saveSubsetFonts="1" autoCompressPictures="0">`;
|
|
5208
5289
|
n += '<p:sldMasterIdLst><p:sldMasterId id="2147483648" r:id="rId1"/></p:sldMasterIdLst>', n += "<p:sldIdLst>", t.slides.forEach((e) => n += `<p:sldId id="${e._slideId}" r:id="rId${e._rId}"/>`), n += "</p:sldIdLst>", n += `<p:notesMasterIdLst><p:notesMasterId r:id="rId${t.slides.length + 2}"/></p:notesMasterIdLst>`, n += `<p:sldSz cx="${t.presLayout.width}" cy="${t.presLayout.height}"/>`, n += `<p:notesSz cx="${t.presLayout.height}" cy="${t.presLayout.width}"/>`, n += "<p:defaultTextStyle>";
|
|
5209
5290
|
for (let e = 1; e < 10; e++)
|
|
@@ -5212,17 +5293,17 @@ function mn(t) {
|
|
|
5212
5293
|
n += `<p14:section name="${rt(e.title)}" id="{${Le("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")}}"><p14:sldIdLst>`, e._slides.forEach((A) => n += `<p14:sldId id="${A._slideId}"/>`), n += "</p14:sldIdLst></p14:section>";
|
|
5213
5294
|
}), n += "</p14:sectionLst></p:ext>", n += '<p:ext uri="{EFAFB233-063F-42B5-8137-9DF3F51BA10A}"><p15:sldGuideLst xmlns:p15="http://schemas.microsoft.com/office/powerpoint/2012/main"/></p:ext>', n += "</p:extLst>"), n += "</p:presentation>", n;
|
|
5214
5295
|
}
|
|
5215
|
-
function
|
|
5296
|
+
function xn() {
|
|
5216
5297
|
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${Bt}<p:presentationPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"/>`;
|
|
5217
5298
|
}
|
|
5218
|
-
function
|
|
5299
|
+
function Cn() {
|
|
5219
5300
|
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${Bt}<a:tblStyleLst xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" def="{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}"/>`;
|
|
5220
5301
|
}
|
|
5221
|
-
function
|
|
5302
|
+
function Bn() {
|
|
5222
5303
|
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>${Bt}<p:viewPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"><p:normalViewPr horzBarState="maximized"><p:restoredLeft sz="15611"/><p:restoredTop sz="94610"/></p:normalViewPr><p:slideViewPr><p:cSldViewPr snapToGrid="0" snapToObjects="1"><p:cViewPr varScale="1"><p:scale><a:sx n="136" d="100"/><a:sy n="136" d="100"/></p:scale><p:origin x="216" y="312"/></p:cViewPr><p:guideLst/></p:cSldViewPr></p:slideViewPr><p:notesTextViewPr><p:cViewPr><p:scale><a:sx n="1" d="1"/><a:sy n="1" d="1"/></p:scale><p:origin x="0" y="0"/></p:cViewPr></p:notesTextViewPr><p:gridSpacing cx="76200" cy="76200"/></p:viewPr>`;
|
|
5223
5304
|
}
|
|
5224
|
-
const
|
|
5225
|
-
class
|
|
5305
|
+
const Ln = "4.0.1";
|
|
5306
|
+
class kn {
|
|
5226
5307
|
set layout(n) {
|
|
5227
5308
|
const e = this.LAYOUTS[n];
|
|
5228
5309
|
if (e)
|
|
@@ -5321,13 +5402,13 @@ class xn {
|
|
|
5321
5402
|
return this._shapes;
|
|
5322
5403
|
}
|
|
5323
5404
|
constructor() {
|
|
5324
|
-
this._version =
|
|
5405
|
+
this._version = Ln, this._alignH = Je, this._alignV = He, this._chartType = Ye, this._outputType = Ve, this._schemeColor = Rt, this._shapeType = qe, this._charts = W, this._colors = De, this._shapes = Yt, this.addNewSlide = (i) => {
|
|
5325
5406
|
const s = this.sections.length > 0 && this.sections[this.sections.length - 1]._slides.filter((c) => c._slideNum === this.slides[this.slides.length - 1]._slideNum).length > 0;
|
|
5326
5407
|
return i.sectionTitle = s ? this.sections[this.sections.length - 1].title : null, this.addSlide(i);
|
|
5327
5408
|
}, this.getSlide = (i) => this.slides.filter((s) => s._slideNum === i)[0], this.setSlideNumber = (i) => {
|
|
5328
|
-
this.masterSlide._slideNumberProps = i, this.slideLayouts.filter((s) => s._name ===
|
|
5409
|
+
this.masterSlide._slideNumberProps = i, this.slideLayouts.filter((s) => s._name === Qe)[0]._slideNumberProps = i;
|
|
5329
5410
|
}, this.createChartMediaRels = (i, s, c) => {
|
|
5330
|
-
i._relsChart.forEach((l) => c.push(
|
|
5411
|
+
i._relsChart.forEach((l) => c.push(jr(l, s))), i._relsMedia.forEach((l) => {
|
|
5331
5412
|
if (l.type !== "online" && l.type !== "hyperlink") {
|
|
5332
5413
|
let r = l.data && typeof l.data == "string" ? l.data : "";
|
|
5333
5414
|
!r.includes(",") && !r.includes(";") ? r = "image/png;base64," + r : r.includes(",") ? r.includes(";") || (r = "image/png;" + r) : r = "image/png;base64," + r, s.file(l.Target.replace("..", "ppt"), r.split(",").pop(), { base64: !0 });
|
|
@@ -5344,19 +5425,19 @@ class xn {
|
|
|
5344
5425
|
}), this.exportPresentation = (i) => Nt(this, void 0, void 0, function* () {
|
|
5345
5426
|
const s = [];
|
|
5346
5427
|
let c = [];
|
|
5347
|
-
const l = new
|
|
5428
|
+
const l = new za();
|
|
5348
5429
|
return this.slides.forEach((r) => {
|
|
5349
5430
|
c = c.concat(Ge(r));
|
|
5350
5431
|
}), this.slideLayouts.forEach((r) => {
|
|
5351
5432
|
c = c.concat(Ge(r));
|
|
5352
5433
|
}), c = c.concat(Ge(this.masterSlide)), yield Promise.all(c).then(() => Nt(this, void 0, void 0, function* () {
|
|
5353
5434
|
return this.slides.forEach((r) => {
|
|
5354
|
-
r._slideLayout &&
|
|
5355
|
-
}), l.folder("_rels"), l.folder("docProps"), l.folder("ppt").folder("_rels"), l.folder("ppt/charts").folder("_rels"), l.folder("ppt/embeddings"), l.folder("ppt/media"), l.folder("ppt/slideLayouts").folder("_rels"), l.folder("ppt/slideMasters").folder("_rels"), l.folder("ppt/slides").folder("_rels"), l.folder("ppt/theme"), l.folder("ppt/notesMasters").folder("_rels"), l.folder("ppt/notesSlides").folder("_rels"), l.file("[Content_Types].xml",
|
|
5356
|
-
l.file(`ppt/slideLayouts/slideLayout${o + 1}.xml`,
|
|
5435
|
+
r._slideLayout && Jr(r);
|
|
5436
|
+
}), l.folder("_rels"), l.folder("docProps"), l.folder("ppt").folder("_rels"), l.folder("ppt/charts").folder("_rels"), l.folder("ppt/embeddings"), l.folder("ppt/media"), l.folder("ppt/slideLayouts").folder("_rels"), l.folder("ppt/slideMasters").folder("_rels"), l.folder("ppt/slides").folder("_rels"), l.folder("ppt/theme"), l.folder("ppt/notesMasters").folder("_rels"), l.folder("ppt/notesSlides").folder("_rels"), l.file("[Content_Types].xml", an(this.slides, this.slideLayouts, this.masterSlide)), l.file("_rels/.rels", rn()), l.file("docProps/app.xml", nn(this.slides, this.company)), l.file("docProps/core.xml", on(this.title, this.subject, this.author, this.revision)), l.file("ppt/_rels/presentation.xml.rels", An(this.slides)), l.file("ppt/theme/theme1.xml", bn(this)), l.file("ppt/presentation.xml", wn(this)), l.file("ppt/presProps.xml", xn()), l.file("ppt/tableStyles.xml", Cn()), l.file("ppt/viewProps.xml", Bn()), this.slideLayouts.forEach((r, o) => {
|
|
5437
|
+
l.file(`ppt/slideLayouts/slideLayout${o + 1}.xml`, fn(r)), l.file(`ppt/slideLayouts/_rels/slideLayout${o + 1}.xml.rels`, pn(o + 1, this.slideLayouts));
|
|
5357
5438
|
}), this.slides.forEach((r, o) => {
|
|
5358
|
-
l.file(`ppt/slides/slide${o + 1}.xml`,
|
|
5359
|
-
}), l.file("ppt/slideMasters/slideMaster1.xml",
|
|
5439
|
+
l.file(`ppt/slides/slide${o + 1}.xml`, sn(r)), l.file(`ppt/slides/_rels/slide${o + 1}.xml.rels`, un(this.slides, this.slideLayouts, o + 1)), l.file(`ppt/notesSlides/notesSlide${o + 1}.xml`, dn(r)), l.file(`ppt/notesSlides/_rels/notesSlide${o + 1}.xml.rels`, gn(o + 1));
|
|
5440
|
+
}), l.file("ppt/slideMasters/slideMaster1.xml", hn(this.masterSlide, this.slideLayouts)), l.file("ppt/slideMasters/_rels/slideMaster1.xml.rels", mn(this.masterSlide, this.slideLayouts)), l.file("ppt/notesMasters/notesMaster1.xml", cn()), l.file("ppt/notesMasters/_rels/notesMaster1.xml.rels", vn()), this.slideLayouts.forEach((r) => {
|
|
5360
5441
|
this.createChartMediaRels(r, l, s);
|
|
5361
5442
|
}), this.slides.forEach((r) => {
|
|
5362
5443
|
this.createChartMediaRels(r, l, s);
|
|
@@ -5372,15 +5453,15 @@ class xn {
|
|
|
5372
5453
|
LAYOUT_16x10: A,
|
|
5373
5454
|
LAYOUT_WIDE: a
|
|
5374
5455
|
}, this._author = "PptxGenJS", this._company = "PptxGenJS", this._revision = "1", this._subject = "PptxGenJS Presentation", this._title = "PptxGenJS Presentation", this._presLayout = {
|
|
5375
|
-
name: this.LAYOUTS[
|
|
5376
|
-
_sizeW: this.LAYOUTS[
|
|
5377
|
-
_sizeH: this.LAYOUTS[
|
|
5378
|
-
width: this.LAYOUTS[
|
|
5379
|
-
height: this.LAYOUTS[
|
|
5456
|
+
name: this.LAYOUTS[ee].name,
|
|
5457
|
+
_sizeW: this.LAYOUTS[ee].width,
|
|
5458
|
+
_sizeH: this.LAYOUTS[ee].height,
|
|
5459
|
+
width: this.LAYOUTS[ee].width,
|
|
5460
|
+
height: this.LAYOUTS[ee].height
|
|
5380
5461
|
}, this._rtlMode = !1, this._slideLayouts = [
|
|
5381
5462
|
{
|
|
5382
5463
|
_margin: ge,
|
|
5383
|
-
_name:
|
|
5464
|
+
_name: Qe,
|
|
5384
5465
|
_presLayout: this._presLayout,
|
|
5385
5466
|
_rels: [],
|
|
5386
5467
|
_relsChart: [],
|
|
@@ -5482,7 +5563,7 @@ class xn {
|
|
|
5482
5563
|
addSlide(n) {
|
|
5483
5564
|
const e = typeof n == "string" ? n : n?.masterName ? n.masterName : "";
|
|
5484
5565
|
let A = {
|
|
5485
|
-
_name: this.LAYOUTS[
|
|
5566
|
+
_name: this.LAYOUTS[ee].name,
|
|
5486
5567
|
_presLayout: this.presLayout,
|
|
5487
5568
|
_rels: [],
|
|
5488
5569
|
_relsChart: [],
|
|
@@ -5493,7 +5574,7 @@ class xn {
|
|
|
5493
5574
|
const i = this.slideLayouts.filter((s) => s._name === e)[0];
|
|
5494
5575
|
i && (A = i);
|
|
5495
5576
|
}
|
|
5496
|
-
const a = new
|
|
5577
|
+
const a = new Hr({
|
|
5497
5578
|
addSlide: this.addNewSlide,
|
|
5498
5579
|
getSlide: this.getSlide,
|
|
5499
5580
|
presLayout: this.presLayout,
|
|
@@ -5552,7 +5633,7 @@ class xn {
|
|
|
5552
5633
|
background: e.background || null,
|
|
5553
5634
|
bkgd: e.bkgd || null
|
|
5554
5635
|
};
|
|
5555
|
-
|
|
5636
|
+
Wr(e, A), this.slideLayouts.push(A), (e.background || e.bkgd) && Ya(e.background, A), A._slideNumberProps && !this.masterSlide._slideNumberProps && (this.masterSlide._slideNumberProps = A._slideNumberProps);
|
|
5556
5637
|
}
|
|
5557
5638
|
// HTML-TO-SLIDES METHODS
|
|
5558
5639
|
/**
|
|
@@ -5561,18 +5642,18 @@ class xn {
|
|
|
5561
5642
|
* @param {TableToSlidesProps} options - generation options
|
|
5562
5643
|
*/
|
|
5563
5644
|
tableToSlides(n, e = {}) {
|
|
5564
|
-
|
|
5645
|
+
Gr(this, n, e, e?.masterSlideName ? this.slideLayouts.filter((A) => A._name === e.masterSlideName)[0] : null);
|
|
5565
5646
|
}
|
|
5566
5647
|
}
|
|
5567
|
-
const
|
|
5648
|
+
const Dn = {
|
|
5568
5649
|
translateX: 0,
|
|
5569
5650
|
translateY: 0,
|
|
5570
5651
|
scale: 1,
|
|
5571
5652
|
rotation: 0
|
|
5572
|
-
},
|
|
5653
|
+
}, Ba = Object.freeze({
|
|
5573
5654
|
imagePathById: {}
|
|
5574
5655
|
});
|
|
5575
|
-
function
|
|
5656
|
+
function Ja(t, n, e, A) {
|
|
5576
5657
|
const a = Math.min(t, e), i = Math.min(n, A), s = Math.abs(e - t), c = Math.abs(A - n);
|
|
5577
5658
|
return It({
|
|
5578
5659
|
origin: { x: a, y: i },
|
|
@@ -5586,17 +5667,17 @@ function qt(t, n = 1) {
|
|
|
5586
5667
|
transparency: 100 - n * t.alpha * 100
|
|
5587
5668
|
};
|
|
5588
5669
|
}
|
|
5589
|
-
const
|
|
5670
|
+
const Pn = 96, Rn = 69;
|
|
5590
5671
|
function st(t, n) {
|
|
5591
5672
|
return t / n;
|
|
5592
5673
|
}
|
|
5593
|
-
function
|
|
5594
|
-
return st(t, n) *
|
|
5674
|
+
function Fe(t, n) {
|
|
5675
|
+
return st(t, n) * Pn;
|
|
5595
5676
|
}
|
|
5596
|
-
function
|
|
5597
|
-
return st(t, n) *
|
|
5677
|
+
function Nn(t, n) {
|
|
5678
|
+
return st(t, n) * Rn;
|
|
5598
5679
|
}
|
|
5599
|
-
const
|
|
5680
|
+
const Tn = ({
|
|
5600
5681
|
powerpoint: t,
|
|
5601
5682
|
slide: n,
|
|
5602
5683
|
object: e,
|
|
@@ -5607,7 +5688,7 @@ const Dn = ({
|
|
|
5607
5688
|
const s = e.opacity * A;
|
|
5608
5689
|
if (e.drawn === 0 || s === 0)
|
|
5609
5690
|
return;
|
|
5610
|
-
const { origin: c, size: l } =
|
|
5691
|
+
const { origin: c, size: l } = Ja(
|
|
5611
5692
|
e.startX + i.translateX,
|
|
5612
5693
|
e.startY + i.translateY,
|
|
5613
5694
|
e.endX + i.translateX + i.scale * (e.endX - e.startX),
|
|
@@ -5620,7 +5701,7 @@ const Dn = ({
|
|
|
5620
5701
|
h: st(l.height, a),
|
|
5621
5702
|
line: {
|
|
5622
5703
|
...qt(e.color, s),
|
|
5623
|
-
width:
|
|
5704
|
+
width: Fe(e.width, a),
|
|
5624
5705
|
beginArrowType: e.isArrowheadDoubled ? "triangle" : "none",
|
|
5625
5706
|
endArrowType: "triangle"
|
|
5626
5707
|
},
|
|
@@ -5628,8 +5709,8 @@ const Dn = ({
|
|
|
5628
5709
|
flipV: e.startY > e.endY
|
|
5629
5710
|
});
|
|
5630
5711
|
};
|
|
5631
|
-
function
|
|
5632
|
-
return
|
|
5712
|
+
function Zt(t, n, e, A) {
|
|
5713
|
+
return Ot(
|
|
5633
5714
|
{
|
|
5634
5715
|
x: t.x * A.scale + A.translateX,
|
|
5635
5716
|
y: t.y * A.scale + A.translateY
|
|
@@ -5641,7 +5722,7 @@ function Ae(t, n, e, A) {
|
|
|
5641
5722
|
}
|
|
5642
5723
|
);
|
|
5643
5724
|
}
|
|
5644
|
-
const
|
|
5725
|
+
const Fn = ({
|
|
5645
5726
|
powerpoint: t,
|
|
5646
5727
|
slide: n,
|
|
5647
5728
|
object: e,
|
|
@@ -5652,8 +5733,8 @@ const Pn = ({
|
|
|
5652
5733
|
const s = e.opacity * A;
|
|
5653
5734
|
if (e.drawn === 0 || s === 0)
|
|
5654
5735
|
return;
|
|
5655
|
-
const { origin: c, size: l } =
|
|
5656
|
-
|
|
5736
|
+
const { origin: c, size: l } = Zt(
|
|
5737
|
+
mt({ x: e.x, y: e.y }),
|
|
5657
5738
|
e.anchor,
|
|
5658
5739
|
Lt({ width: e.radius * 2, height: e.radius * 2 }),
|
|
5659
5740
|
i
|
|
@@ -5666,10 +5747,10 @@ const Pn = ({
|
|
|
5666
5747
|
h: st(l.height, a),
|
|
5667
5748
|
line: e.strokeWidth > 0 ? {
|
|
5668
5749
|
...qt(e.strokeColor, s),
|
|
5669
|
-
width:
|
|
5750
|
+
width: Fe(i.scale * e.strokeWidth, a)
|
|
5670
5751
|
} : {}
|
|
5671
5752
|
});
|
|
5672
|
-
},
|
|
5753
|
+
}, Sn = ({
|
|
5673
5754
|
object: t,
|
|
5674
5755
|
opacity: n,
|
|
5675
5756
|
transform: e,
|
|
@@ -5678,8 +5759,8 @@ const Pn = ({
|
|
|
5678
5759
|
const a = n * t.opacity;
|
|
5679
5760
|
if (a === 0)
|
|
5680
5761
|
return;
|
|
5681
|
-
const i =
|
|
5682
|
-
|
|
5762
|
+
const i = Zt(
|
|
5763
|
+
mt({ x: t.x, y: t.y }),
|
|
5683
5764
|
t.anchor,
|
|
5684
5765
|
Lt({
|
|
5685
5766
|
width: t.width * t.scale,
|
|
@@ -5694,7 +5775,7 @@ const Pn = ({
|
|
|
5694
5775
|
};
|
|
5695
5776
|
for (const c of t.objects)
|
|
5696
5777
|
A(c, s, a);
|
|
5697
|
-
},
|
|
5778
|
+
}, In = ({
|
|
5698
5779
|
imagePathById: t,
|
|
5699
5780
|
slide: n,
|
|
5700
5781
|
object: e,
|
|
@@ -5708,8 +5789,8 @@ const Pn = ({
|
|
|
5708
5789
|
const c = t[e.imageId];
|
|
5709
5790
|
if (c === void 0)
|
|
5710
5791
|
return;
|
|
5711
|
-
const { origin: l, size: r } =
|
|
5712
|
-
|
|
5792
|
+
const { origin: l, size: r } = Zt(
|
|
5793
|
+
mt({ x: e.x, y: e.y }),
|
|
5713
5794
|
e.anchor,
|
|
5714
5795
|
Lt({ width: e.width, height: e.height }),
|
|
5715
5796
|
i
|
|
@@ -5722,7 +5803,7 @@ const Pn = ({
|
|
|
5722
5803
|
h: st(r.height, a),
|
|
5723
5804
|
transparency: (1 - s) * 100
|
|
5724
5805
|
});
|
|
5725
|
-
},
|
|
5806
|
+
}, Mn = ({
|
|
5726
5807
|
powerpoint: t,
|
|
5727
5808
|
slide: n,
|
|
5728
5809
|
object: e,
|
|
@@ -5733,7 +5814,7 @@ const Pn = ({
|
|
|
5733
5814
|
const s = e.opacity * A;
|
|
5734
5815
|
if (e.drawn === 0 || s === 0)
|
|
5735
5816
|
return;
|
|
5736
|
-
const { origin: c, size: l } =
|
|
5817
|
+
const { origin: c, size: l } = Ja(
|
|
5737
5818
|
e.startX + i.translateX,
|
|
5738
5819
|
e.startY + i.translateY,
|
|
5739
5820
|
e.endX + i.translateX + i.scale * (e.endX - e.startX),
|
|
@@ -5746,12 +5827,12 @@ const Pn = ({
|
|
|
5746
5827
|
h: st(l.height, a),
|
|
5747
5828
|
line: {
|
|
5748
5829
|
...qt(e.color, s),
|
|
5749
|
-
width: i.scale *
|
|
5830
|
+
width: i.scale * Fe(e.width, a)
|
|
5750
5831
|
},
|
|
5751
5832
|
flipH: e.startX > e.endX,
|
|
5752
5833
|
flipV: e.startY > e.endY
|
|
5753
5834
|
});
|
|
5754
|
-
},
|
|
5835
|
+
}, _n = ({
|
|
5755
5836
|
slide: t,
|
|
5756
5837
|
object: n,
|
|
5757
5838
|
opacity: e,
|
|
@@ -5765,12 +5846,12 @@ const Pn = ({
|
|
|
5765
5846
|
type: Ct.Node,
|
|
5766
5847
|
context: c
|
|
5767
5848
|
}, r = Ne(n.path);
|
|
5768
|
-
|
|
5849
|
+
Mt({
|
|
5769
5850
|
ctx: l,
|
|
5770
5851
|
path: r,
|
|
5771
5852
|
color: n.fillColor,
|
|
5772
5853
|
opacity: i
|
|
5773
|
-
}),
|
|
5854
|
+
}), zt({
|
|
5774
5855
|
color: n.strokeColor,
|
|
5775
5856
|
ctx: l,
|
|
5776
5857
|
drawn: n.drawn,
|
|
@@ -5788,7 +5869,7 @@ const Pn = ({
|
|
|
5788
5869
|
h: st(n.height * a.scale, A),
|
|
5789
5870
|
transparency: 100 * (1 - i)
|
|
5790
5871
|
});
|
|
5791
|
-
},
|
|
5872
|
+
}, En = ({
|
|
5792
5873
|
slide: t,
|
|
5793
5874
|
object: n,
|
|
5794
5875
|
opacity: e,
|
|
@@ -5801,13 +5882,13 @@ const Pn = ({
|
|
|
5801
5882
|
const s = Math.max(...n.points.map((m) => m.x)), c = Math.max(...n.points.map((m) => m.y)), l = me({ width: s, height: c }), r = l.getContext("2d"), o = {
|
|
5802
5883
|
type: Ct.Node,
|
|
5803
5884
|
context: r
|
|
5804
|
-
}, { path: f, length: g } =
|
|
5805
|
-
|
|
5885
|
+
}, { path: f, length: g } = Da(n, Ne);
|
|
5886
|
+
Mt({
|
|
5806
5887
|
ctx: o,
|
|
5807
5888
|
path: f,
|
|
5808
5889
|
color: n.fillColor,
|
|
5809
5890
|
opacity: i
|
|
5810
|
-
}),
|
|
5891
|
+
}), zt({
|
|
5811
5892
|
color: n.strokeColor,
|
|
5812
5893
|
ctx: o,
|
|
5813
5894
|
drawn: n.drawn,
|
|
@@ -5825,7 +5906,7 @@ const Pn = ({
|
|
|
5825
5906
|
h: st(c * a.scale, A),
|
|
5826
5907
|
transparency: 100 * (1 - i)
|
|
5827
5908
|
});
|
|
5828
|
-
},
|
|
5909
|
+
}, zn = ({
|
|
5829
5910
|
powerpoint: t,
|
|
5830
5911
|
slide: n,
|
|
5831
5912
|
object: e,
|
|
@@ -5836,8 +5917,8 @@ const Pn = ({
|
|
|
5836
5917
|
const s = e.opacity * A;
|
|
5837
5918
|
if (e.drawn === 0 || s === 0)
|
|
5838
5919
|
return;
|
|
5839
|
-
const { origin: c, size: l } =
|
|
5840
|
-
|
|
5920
|
+
const { origin: c, size: l } = Zt(
|
|
5921
|
+
mt({ x: e.x, y: e.y }),
|
|
5841
5922
|
e.anchor,
|
|
5842
5923
|
Lt({ width: e.width, height: e.height }),
|
|
5843
5924
|
i
|
|
@@ -5852,7 +5933,7 @@ const Pn = ({
|
|
|
5852
5933
|
h: st(l.height, a),
|
|
5853
5934
|
line: e.strokeWidth > 0 ? {
|
|
5854
5935
|
...qt(e.strokeColor, s),
|
|
5855
|
-
width:
|
|
5936
|
+
width: Fe(
|
|
5856
5937
|
e.strokeWidth * i.scale,
|
|
5857
5938
|
a
|
|
5858
5939
|
)
|
|
@@ -5860,7 +5941,61 @@ const Pn = ({
|
|
|
5860
5941
|
rectRadius: e.cornerRadius > 0 ? i.scale * e.cornerRadius / e.height : 0
|
|
5861
5942
|
}
|
|
5862
5943
|
);
|
|
5863
|
-
}
|
|
5944
|
+
};
|
|
5945
|
+
function Un(t, n) {
|
|
5946
|
+
const { origin: e, size: A, cornerRadius: a } = Pa(t), { x: i, y: s } = e, { width: c, height: l } = A, r = Math.max(0, Math.min(a * n, Math.min(c, l) / 2));
|
|
5947
|
+
return r === 0 ? `M ${i} ${s} V ${s + l} H ${i + c} V ${s} H ${i} Z` : [
|
|
5948
|
+
`M ${i + r} ${s}`,
|
|
5949
|
+
`Q ${i} ${s} ${i} ${s + r}`,
|
|
5950
|
+
`V ${s + l - r}`,
|
|
5951
|
+
`Q ${i} ${s + l} ${i + r} ${s + l}`,
|
|
5952
|
+
`H ${i + c - r}`,
|
|
5953
|
+
`Q ${i + c} ${s + l} ${i + c} ${s + l - r}`,
|
|
5954
|
+
`V ${s + r}`,
|
|
5955
|
+
`Q ${i + c} ${s} ${i + c - r} ${s}`,
|
|
5956
|
+
`H ${i + r}`,
|
|
5957
|
+
"Z"
|
|
5958
|
+
].join(" ");
|
|
5959
|
+
}
|
|
5960
|
+
const On = ({
|
|
5961
|
+
object: t,
|
|
5962
|
+
opacity: n,
|
|
5963
|
+
pixelsPerInch: e,
|
|
5964
|
+
slide: A,
|
|
5965
|
+
slideSize: a,
|
|
5966
|
+
transform: i
|
|
5967
|
+
}) => {
|
|
5968
|
+
const s = t.opacity * n;
|
|
5969
|
+
if (s === 0 || t.color.alpha === 0)
|
|
5970
|
+
return;
|
|
5971
|
+
const c = Zt(
|
|
5972
|
+
mt({ x: t.x, y: t.y }),
|
|
5973
|
+
t.anchor,
|
|
5974
|
+
Lt({ width: t.width, height: t.height }),
|
|
5975
|
+
i
|
|
5976
|
+
), { red: l, green: r, blue: o } = t.color, f = Ze(t.color, s), g = Un(
|
|
5977
|
+
{
|
|
5978
|
+
...t,
|
|
5979
|
+
anchor: Et.TOP_LEFT,
|
|
5980
|
+
x: c.origin.x,
|
|
5981
|
+
y: c.origin.y,
|
|
5982
|
+
width: c.size.width,
|
|
5983
|
+
height: c.size.height
|
|
5984
|
+
},
|
|
5985
|
+
i.scale
|
|
5986
|
+
), d = [
|
|
5987
|
+
`<svg xmlns="http://www.w3.org/2000/svg" width="${a.width}" height="${a.height}" viewBox="0 0 ${a.width} ${a.height}">`,
|
|
5988
|
+
`<path fill="rgb(${l}, ${r}, ${o})" fill-opacity="${f}" fill-rule="evenodd" d="M 0 0 H ${a.width} V ${a.height} H 0 Z ${g}"/>`,
|
|
5989
|
+
"</svg>"
|
|
5990
|
+
].join(""), m = Buffer.from(d).toString("base64");
|
|
5991
|
+
A.addImage({
|
|
5992
|
+
data: `data:image/svg+xml;base64,${m}`,
|
|
5993
|
+
x: 0,
|
|
5994
|
+
y: 0,
|
|
5995
|
+
w: st(a.width, e),
|
|
5996
|
+
h: st(a.height, e)
|
|
5997
|
+
});
|
|
5998
|
+
}, Xn = ({
|
|
5864
5999
|
slide: t,
|
|
5865
6000
|
object: n,
|
|
5866
6001
|
opacity: e,
|
|
@@ -5870,8 +6005,8 @@ const Pn = ({
|
|
|
5870
6005
|
const i = n.opacity * e;
|
|
5871
6006
|
if (i === 0 || !n.svg)
|
|
5872
6007
|
return;
|
|
5873
|
-
const { origin: s, size: c } =
|
|
5874
|
-
|
|
6008
|
+
const { origin: s, size: c } = Zt(
|
|
6009
|
+
mt({ x: n.x, y: n.y }),
|
|
5875
6010
|
n.anchor,
|
|
5876
6011
|
Lt({ width: n.width, height: n.height }),
|
|
5877
6012
|
a
|
|
@@ -5884,13 +6019,13 @@ const Pn = ({
|
|
|
5884
6019
|
h: st(c.height, A),
|
|
5885
6020
|
transparency: (1 - i) * 100
|
|
5886
6021
|
});
|
|
5887
|
-
},
|
|
6022
|
+
}, La = {
|
|
5888
6023
|
ITALIC: "italic",
|
|
5889
6024
|
OBLIQUE: "oblique"
|
|
5890
|
-
},
|
|
6025
|
+
}, Gn = {
|
|
5891
6026
|
BOLD: 700
|
|
5892
6027
|
};
|
|
5893
|
-
function
|
|
6028
|
+
function Qn({
|
|
5894
6029
|
length: t,
|
|
5895
6030
|
opacity: n,
|
|
5896
6031
|
pixelsPerInch: e,
|
|
@@ -5914,15 +6049,15 @@ function En({
|
|
|
5914
6049
|
}
|
|
5915
6050
|
const d = g ?? o;
|
|
5916
6051
|
c += d.length;
|
|
5917
|
-
const m = { ...a, ...f }, u =
|
|
6052
|
+
const m = { ...a, ...f }, u = ea(m);
|
|
5918
6053
|
s.push({
|
|
5919
6054
|
text: d,
|
|
5920
6055
|
options: {
|
|
5921
|
-
bold: m.fontWeight >=
|
|
6056
|
+
bold: m.fontWeight >= Gn.BOLD,
|
|
5922
6057
|
fontFace: m.fontFamily,
|
|
5923
|
-
fontSize: A *
|
|
6058
|
+
fontSize: A * Nn(u.fontSize, e),
|
|
5924
6059
|
...qt(m.color, n),
|
|
5925
|
-
italic: m.fontStyle ===
|
|
6060
|
+
italic: m.fontStyle === La.ITALIC || m.fontStyle === La.OBLIQUE,
|
|
5926
6061
|
subscript: u.isSubscript,
|
|
5927
6062
|
superscript: u.isSuperscript
|
|
5928
6063
|
}
|
|
@@ -5931,7 +6066,7 @@ function En({
|
|
|
5931
6066
|
}
|
|
5932
6067
|
return s;
|
|
5933
6068
|
}
|
|
5934
|
-
const
|
|
6069
|
+
const Wn = ({
|
|
5935
6070
|
ctx: t,
|
|
5936
6071
|
slide: n,
|
|
5937
6072
|
object: e,
|
|
@@ -5942,12 +6077,12 @@ const zn = ({
|
|
|
5942
6077
|
const s = e.opacity * A;
|
|
5943
6078
|
if (e.length === 0 || s === 0)
|
|
5944
6079
|
return;
|
|
5945
|
-
const { length: c } = e, l =
|
|
5946
|
-
|
|
6080
|
+
const { length: c } = e, l = Na(e.text), r = Ra(e), o = Sa(l, r, t), f = Ta(o, e.lineSpacing), { origin: g, size: d } = Zt(
|
|
6081
|
+
mt({ x: e.x, y: e.y }),
|
|
5947
6082
|
e.anchor,
|
|
5948
6083
|
f,
|
|
5949
6084
|
i
|
|
5950
|
-
), m =
|
|
6085
|
+
), m = Qn({
|
|
5951
6086
|
length: c,
|
|
5952
6087
|
opacity: s,
|
|
5953
6088
|
pixelsPerInch: a,
|
|
@@ -5962,53 +6097,54 @@ const zn = ({
|
|
|
5962
6097
|
h: st(d.height, a) * 1.1,
|
|
5963
6098
|
w: st(d.width, a) * 1.1
|
|
5964
6099
|
});
|
|
5965
|
-
},
|
|
6100
|
+
}, Vn = ({ object: t }) => {
|
|
5966
6101
|
console.warn("Object type is not supported by PowerPoint renderer", t);
|
|
5967
|
-
},
|
|
5968
|
-
[vt.ARROW]:
|
|
5969
|
-
[vt.CIRCLE]:
|
|
5970
|
-
[vt.GROUP]:
|
|
5971
|
-
[vt.IMAGE]:
|
|
5972
|
-
[vt.LINE]:
|
|
5973
|
-
[vt.MASK]:
|
|
5974
|
-
[vt.PATH]:
|
|
5975
|
-
[vt.POLYGON]:
|
|
5976
|
-
[vt.RECTANGLE]:
|
|
6102
|
+
}, Yn = {
|
|
6103
|
+
[vt.ARROW]: Tn,
|
|
6104
|
+
[vt.CIRCLE]: Fn,
|
|
6105
|
+
[vt.GROUP]: Sn,
|
|
6106
|
+
[vt.IMAGE]: In,
|
|
6107
|
+
[vt.LINE]: Mn,
|
|
6108
|
+
[vt.MASK]: Vn,
|
|
6109
|
+
[vt.PATH]: _n,
|
|
6110
|
+
[vt.POLYGON]: En,
|
|
6111
|
+
[vt.RECTANGLE]: zn,
|
|
5977
6112
|
[vt.SLIDE_OBJECT]: () => {
|
|
5978
6113
|
},
|
|
5979
|
-
[vt.
|
|
5980
|
-
[vt.
|
|
6114
|
+
[vt.SPOTLIGHT]: On,
|
|
6115
|
+
[vt.SVG]: Xn,
|
|
6116
|
+
[vt.TEXT]: Wn
|
|
5981
6117
|
};
|
|
5982
|
-
function
|
|
6118
|
+
function qn(t, n) {
|
|
5983
6119
|
const e = {};
|
|
5984
6120
|
for (const [A, a] of Object.entries(t))
|
|
5985
6121
|
e[A] = Ke.join(n, a);
|
|
5986
6122
|
return e;
|
|
5987
6123
|
}
|
|
5988
|
-
class
|
|
6124
|
+
class $n {
|
|
5989
6125
|
constructor(n) {
|
|
5990
6126
|
const { objectRenderers: e, ...A } = n;
|
|
5991
6127
|
this.props = {
|
|
5992
|
-
presentation:
|
|
6128
|
+
presentation: aa(),
|
|
5993
6129
|
objectRenderers: {
|
|
5994
|
-
...
|
|
6130
|
+
...Yn,
|
|
5995
6131
|
...e
|
|
5996
6132
|
},
|
|
5997
6133
|
pixelsPerInch: 384,
|
|
5998
6134
|
resourcePathPrefix: "",
|
|
5999
6135
|
...A
|
|
6000
|
-
}, this.state = { ...
|
|
6136
|
+
}, this.state = { ...Ba };
|
|
6001
6137
|
}
|
|
6002
6138
|
save(n) {
|
|
6003
6139
|
const { presentation: e, pixelsPerInch: A, resourcePathPrefix: a } = this.props;
|
|
6004
6140
|
this.state = {
|
|
6005
|
-
...
|
|
6006
|
-
imagePathById:
|
|
6141
|
+
...Ba,
|
|
6142
|
+
imagePathById: qn(e.resources.images, a)
|
|
6007
6143
|
};
|
|
6008
6144
|
const i = me(e.size), s = {
|
|
6009
6145
|
type: Ct.Node,
|
|
6010
6146
|
context: i.getContext("2d")
|
|
6011
|
-
}, c = new
|
|
6147
|
+
}, c = new kn();
|
|
6012
6148
|
c.defineLayout({
|
|
6013
6149
|
name: "CUSTOM",
|
|
6014
6150
|
width: st(e.size.width, A),
|
|
@@ -6018,7 +6154,7 @@ class qn {
|
|
|
6018
6154
|
const r = e.slides[l];
|
|
6019
6155
|
if (r === void 0)
|
|
6020
6156
|
continue;
|
|
6021
|
-
const o =
|
|
6157
|
+
const o = na(r);
|
|
6022
6158
|
for (const f of o)
|
|
6023
6159
|
this.addSlide(c, s, l, f);
|
|
6024
6160
|
}
|
|
@@ -6028,7 +6164,7 @@ class qn {
|
|
|
6028
6164
|
const { objectRenderers: i, presentation: s, pixelsPerInch: c } = this.props, { imagePathById: l } = this.state, r = s.slides[A];
|
|
6029
6165
|
if (r === void 0)
|
|
6030
6166
|
return;
|
|
6031
|
-
const o =
|
|
6167
|
+
const o = ra({
|
|
6032
6168
|
slide: r,
|
|
6033
6169
|
buildIndex: a,
|
|
6034
6170
|
buildTime: null
|
|
@@ -6045,16 +6181,17 @@ class qn {
|
|
|
6045
6181
|
powerpoint: n,
|
|
6046
6182
|
renderObject: g,
|
|
6047
6183
|
slide: f,
|
|
6184
|
+
slideSize: s.size,
|
|
6048
6185
|
transform: m
|
|
6049
6186
|
});
|
|
6050
6187
|
}
|
|
6051
6188
|
for (const d of r.objects)
|
|
6052
|
-
g(d,
|
|
6189
|
+
g(d, Dn, 1);
|
|
6053
6190
|
}
|
|
6054
6191
|
}
|
|
6055
6192
|
export {
|
|
6056
|
-
|
|
6057
|
-
|
|
6058
|
-
|
|
6193
|
+
Kn as ImageRenderer,
|
|
6194
|
+
Zn as PDFRenderer,
|
|
6195
|
+
$n as PowerPointRenderer
|
|
6059
6196
|
};
|
|
6060
6197
|
//# sourceMappingURL=export.mjs.map
|