textmode.js 0.2.1-beta.2 → 0.2.1-beta.3

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.
@@ -28,12 +28,12 @@ ${"↓".repeat(24)}
28
28
  }
29
29
  }
30
30
  var tA = ((E) => (E[E.SILENT = 0] = "SILENT", E[E.WARNING = 1] = "WARNING", E[E.ERROR = 2] = "ERROR", E[E.THROW = 3] = "THROW", E))(tA || {});
31
- const v = class v {
31
+ const y = class y {
32
32
  constructor() {
33
33
  Q(this, "P", { globalLevel: 3 });
34
34
  }
35
35
  static u() {
36
- return v.D || (v.D = new v()), v.D;
36
+ return y.D || (y.D = new y()), y.D;
37
37
  }
38
38
  I(A, t) {
39
39
  const e = "%c[textmode.js] Oops! (╯°□°)╯︵ Something went wrong in your code.", s = "color: #f44336; font-weight: bold; background: #ffebee; padding: 2px 6px; border-radius: 3px;";
@@ -55,58 +55,58 @@ const v = class v {
55
55
  this.P.globalLevel = A;
56
56
  }
57
57
  };
58
- Q(v, "D", null);
59
- let L = v;
60
- const M = L.u(), X = /* @__PURE__ */ new WeakMap();
58
+ Q(y, "D", null);
59
+ let L = y;
60
+ const M = L.u(), V = /* @__PURE__ */ new WeakMap();
61
61
  function F(E, A) {
62
- X.set(E, A);
62
+ V.set(E, A);
63
63
  }
64
64
  function G(E) {
65
- return X.get(E);
65
+ return V.get(E);
66
66
  }
67
- class V {
67
+ class X {
68
68
  constructor() {
69
- Q(this, "G", 1);
69
+ Q(this, "$", 1);
70
+ Q(this, "G", 0);
70
71
  Q(this, "M", 0);
71
- Q(this, "$", 0);
72
72
  Q(this, "Y", 0);
73
73
  Q(this, "F", [0, 0, 0]);
74
74
  Q(this, "R", [1, 1, 1, 1]);
75
75
  Q(this, "S", [0, 0, 0, 1]);
76
- Q(this, "O", !1);
77
76
  Q(this, "L", !1);
77
+ Q(this, "O", !1);
78
78
  Q(this, "U", !1);
79
- Q(this, "H", [0, 0]);
80
- Q(this, "W", [0, 0, 0, 1]);
79
+ Q(this, "W", [0, 0]);
80
+ Q(this, "H", [0, 0, 0, 1]);
81
81
  Q(this, "K", []);
82
82
  }
83
83
  J() {
84
- this.K.push({ V: this.G, Z: this.M, N: this.$, X: this.Y, H: [...this.H], O: this.O, L: this.L, U: this.U, AA: [...this.F], tA: [...this.R], eA: [...this.S] });
84
+ this.K.push({ V: this.$, Z: this.G, N: this.M, X: this.Y, W: [...this.W], L: this.L, O: this.O, U: this.U, AA: [...this.F], tA: [...this.R], eA: [...this.S] });
85
85
  }
86
86
  sA() {
87
87
  const A = this.K.pop();
88
- A ? (this.G = A.V, this.M = A.Z, this.$ = A.N, this.Y = A.X, this.H = A.H, this.O = A.O, this.L = A.L, this.U = A.U, this.F = A.AA, this.R = A.tA, this.S = A.eA) : console.warn("pop() called without matching push()");
88
+ A ? (this.$ = A.V, this.G = A.Z, this.M = A.N, this.Y = A.X, this.W = A.W, this.L = A.L, this.O = A.O, this.U = A.U, this.F = A.AA, this.R = A.tA, this.S = A.eA) : console.warn("pop() called without matching push()");
89
89
  }
90
90
  iA() {
91
- this.K = [], this.M = 0, this.$ = 0, this.Y = 0;
91
+ this.K = [], this.G = 0, this.M = 0, this.Y = 0;
92
92
  }
93
93
  BA(A) {
94
- A.lineWeight = this.G, A.rotationX = this.M, A.rotationY = this.$, A.rotationZ = this.Y, A.character[0] = this.F[0], A.character[1] = this.F[1], A.character[2] = this.F[2], A.charColor[0] = this.R[0], A.charColor[1] = this.R[1], A.charColor[2] = this.R[2], A.charColor[3] = this.R[3], A.bgColor[0] = this.S[0], A.bgColor[1] = this.S[1], A.bgColor[2] = this.S[2], A.bgColor[3] = this.S[3], A.flipHorizontally = this.O, A.flipVertically = this.L, A.invert = this.U, A.charRotation[0] = this.H[0], A.charRotation[1] = this.H[1];
94
+ A.lineWeight = this.$, A.rotationX = this.G, A.rotationY = this.M, A.rotationZ = this.Y, A.character[0] = this.F[0], A.character[1] = this.F[1], A.character[2] = this.F[2], A.charColor[0] = this.R[0], A.charColor[1] = this.R[1], A.charColor[2] = this.R[2], A.charColor[3] = this.R[3], A.bgColor[0] = this.S[0], A.bgColor[1] = this.S[1], A.bgColor[2] = this.S[2], A.bgColor[3] = this.S[3], A.flipHorizontally = this.L, A.flipVertically = this.O, A.invert = this.U, A.charRotation[0] = this.W[0], A.charRotation[1] = this.W[1];
95
95
  }
96
96
  get lineWeight() {
97
- return this.G;
97
+ return this.$;
98
98
  }
99
99
  get canvasBackgroundColor() {
100
- return this.W;
100
+ return this.H;
101
101
  }
102
102
  QA(A) {
103
- this.G = Math.abs(A);
103
+ this.$ = Math.abs(A);
104
104
  }
105
105
  EA(A) {
106
- this.M = A;
106
+ this.G = A;
107
107
  }
108
108
  rA(A) {
109
- this.$ = A;
109
+ this.M = A;
110
110
  }
111
111
  nA(A) {
112
112
  this.Y = A;
@@ -121,20 +121,20 @@ class V {
121
121
  this.S = [A / 255, t / 255, e / 255, s / 255];
122
122
  }
123
123
  hA(A) {
124
- this.O = A;
124
+ this.L = A;
125
125
  }
126
126
  cA(A) {
127
- this.L = A;
127
+ this.O = A;
128
128
  }
129
129
  CA(A) {
130
130
  this.U = A;
131
131
  }
132
132
  lA(A) {
133
133
  const t = 255 * A / 360, e = Math.floor(t) / 255, s = Math.round(t - Math.floor(t));
134
- this.H = [e, s];
134
+ this.W = [e, s];
135
135
  }
136
136
  DA(A, t, e, s) {
137
- this.W = [A / 255, t / 255, e / 255, s / 255];
137
+ this.H = [A / 255, t / 255, e / 255, s / 255];
138
138
  }
139
139
  }
140
140
  class U {
@@ -152,11 +152,11 @@ class U {
152
152
  Q(this, "vA", null);
153
153
  Q(this, "yA", !1);
154
154
  Q(this, "bA", null);
155
- this.PA = t, this.uA = e, this.P = { filter: "nearest", wrap: "clamp", format: "rgba", type: "unsigned_byte", ...i }, this.wA = A, this._A = Math.min(Math.max(1, s), 8), this.vA = B, this.yA = !!r, this.bA = this.yA ? new V() : null;
155
+ this.PA = t, this.uA = e, this.P = { filter: "nearest", wrap: "clamp", format: "rgba", type: "unsigned_byte", ...i }, this.wA = A, this._A = Math.min(Math.max(1, s), 8), this.vA = B, this.yA = !!r, this.bA = this.yA ? new X() : null;
156
156
  const n = A.getParameter(A.MAX_DRAW_BUFFERS), o = A.getParameter(A.MAX_COLOR_ATTACHMENTS);
157
- this._A = Math.min(this._A, n, o), this.fA = A.createFramebuffer(), this.GA(), this.MA(), this.mA = Array(this._A).fill(null);
157
+ this._A = Math.min(this._A, n, o), this.fA = A.createFramebuffer(), this.$A(), this.GA(), this.mA = Array(this._A).fill(null);
158
158
  }
159
- GA() {
159
+ $A() {
160
160
  const A = this.wA, t = this.P.filter === "linear" ? A.LINEAR : A.NEAREST, e = this.P.wrap === "repeat" ? A.REPEAT : A.CLAMP_TO_EDGE, s = this.P.type === "float" ? A.FLOAT : A.UNSIGNED_BYTE;
161
161
  for (let i = 0; i < this._A; i++) {
162
162
  const B = A.createTexture();
@@ -164,7 +164,7 @@ class U {
164
164
  }
165
165
  A.bindTexture(A.TEXTURE_2D, null);
166
166
  }
167
- MA() {
167
+ GA() {
168
168
  const A = this.wA;
169
169
  if (A.bindFramebuffer(A.FRAMEBUFFER, this.fA), this._A === 1) A.framebufferTexture2D(A.FRAMEBUFFER, A.COLOR_ATTACHMENT0, A.TEXTURE_2D, this.dA[0], 0);
170
170
  else {
@@ -178,7 +178,7 @@ class U {
178
178
  const t = A.checkFramebufferStatus(A.FRAMEBUFFER);
179
179
  t !== A.FRAMEBUFFER_COMPLETE && console.error("GLFramebuffer is not complete:", t), A.bindFramebuffer(A.FRAMEBUFFER, null);
180
180
  }
181
- $A(A) {
181
+ MA(A) {
182
182
  const t = this.wA;
183
183
  t.bindTexture(t.TEXTURE_2D, this.dA[0]), t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL, 1), t.texImage2D(t.TEXTURE_2D, 0, t.RGBA, t.RGBA, t.UNSIGNED_BYTE, A), t.bindTexture(t.TEXTURE_2D, null);
184
184
  }
@@ -221,7 +221,7 @@ class U {
221
221
  }
222
222
  A.bindFramebuffer(A.FRAMEBUFFER, this.pA.framebuffer), A.viewport(...this.pA.viewport), F(A, this.pA.viewport), this.pA = null, this.vA && this.yA && this.bA && ((i = (s = this.vA).SA) == null || i.call(s));
223
223
  }
224
- zA() {
224
+ kA() {
225
225
  const A = this.wA;
226
226
  A.deleteFramebuffer(this.fA);
227
227
  for (const t of this.dA) A.deleteTexture(t);
@@ -232,55 +232,40 @@ class U {
232
232
  get height() {
233
233
  return this.uA;
234
234
  }
235
- get pixels() {
236
- return this.IA;
237
- }
238
- get options() {
239
- return { ...this.P };
240
- }
241
- get framebuffer() {
242
- return this.fA;
243
- }
244
- get texture() {
245
- return this.dA[0];
246
- }
247
235
  get textures() {
248
236
  return [...this.dA];
249
237
  }
250
- get attachmentCount() {
251
- return this._A;
252
- }
253
238
  }
254
- function N(E) {
239
+ function k(E) {
255
240
  return typeof E == "string" ? E : E.sourceCode;
256
241
  }
257
242
  class T {
258
243
  constructor(A, t, e) {
259
244
  Q(this, "wA");
260
- Q(this, "kA");
261
- Q(this, "OA", /* @__PURE__ */ new Map());
262
- Q(this, "LA", 0);
263
- this.wA = A, this.kA = this.UA(N(t), N(e)), this.TA();
245
+ Q(this, "zA");
246
+ Q(this, "LA", /* @__PURE__ */ new Map());
247
+ Q(this, "OA", 0);
248
+ this.wA = A, this.zA = this.TA(k(t), k(e)), this.UA();
264
249
  }
265
- TA() {
266
- const A = this.wA.getProgramParameter(this.kA, this.wA.ACTIVE_UNIFORMS);
250
+ UA() {
251
+ const A = this.wA.getProgramParameter(this.zA, this.wA.ACTIVE_UNIFORMS);
267
252
  for (let t = 0; t < A; t++) {
268
- const e = this.wA.getActiveUniform(this.kA, t);
253
+ const e = this.wA.getActiveUniform(this.zA, t);
269
254
  if (e) {
270
- const s = this.wA.getUniformLocation(this.kA, e.name);
271
- s && this.OA.set(e.name, s);
255
+ const s = this.wA.getUniformLocation(this.zA, e.name);
256
+ s && this.LA.set(e.name, s);
272
257
  }
273
258
  }
274
259
  }
275
- UA(A, t) {
276
- const e = this.HA(this.wA.VERTEX_SHADER, A), s = this.HA(this.wA.FRAGMENT_SHADER, t), i = this.wA.createProgram();
260
+ TA(A, t) {
261
+ const e = this.WA(this.wA.VERTEX_SHADER, A), s = this.WA(this.wA.FRAGMENT_SHADER, t), i = this.wA.createProgram();
277
262
  if (this.wA.attachShader(i, e), this.wA.attachShader(i, s), this.wA.linkProgram(i), !this.wA.getProgramParameter(i, this.wA.LINK_STATUS)) {
278
263
  const B = this.wA.getProgramInfoLog(i);
279
264
  throw Error("Shader program link error: " + B);
280
265
  }
281
266
  return this.wA.deleteShader(e), this.wA.deleteShader(s), i;
282
267
  }
283
- HA(A, t) {
268
+ WA(A, t) {
284
269
  const e = this.wA.createShader(A);
285
270
  if (this.wA.shaderSource(e, t), this.wA.compileShader(e), !this.wA.getShaderParameter(e, this.wA.COMPILE_STATUS)) {
286
271
  const s = this.wA.getShaderInfoLog(e);
@@ -288,23 +273,39 @@ class T {
288
273
  }
289
274
  return e;
290
275
  }
291
- WA() {
292
- this.wA.useProgram(this.kA), this.KA();
276
+ HA() {
277
+ this.wA.useProgram(this.zA), this.KA();
293
278
  }
294
279
  KA() {
295
- this.LA = 0;
280
+ this.OA = 0;
296
281
  }
297
282
  JA(A) {
298
283
  for (const [t, e] of Object.entries(A)) this.VA(t, e);
299
284
  }
300
285
  ZA(A) {
301
- return this.OA.has(A);
286
+ return this.LA.has(A);
302
287
  }
303
288
  VA(A, t) {
304
- const e = this.OA.get(A);
289
+ var s;
290
+ const e = this.LA.get(A);
305
291
  if (e) if (typeof t == "number") this.wA.uniform1f(e, t);
306
292
  else if (typeof t == "boolean") this.wA.uniform1i(e, t ? 1 : 0);
307
- else if (Array.isArray(t)) switch (t.length) {
293
+ else if (Array.isArray(t)) if (Array.isArray(t[0])) {
294
+ const i = t, B = ((s = i[0]) == null ? void 0 : s.length) || 0, r = i.flat();
295
+ switch (B) {
296
+ case 2:
297
+ this.wA.uniform2fv(e, r);
298
+ break;
299
+ case 3:
300
+ this.wA.uniform3fv(e, r);
301
+ break;
302
+ case 4:
303
+ this.wA.uniform4fv(e, r);
304
+ break;
305
+ default:
306
+ return void console.warn(`Unsupported vector array length for '${A}': ${B}`);
307
+ }
308
+ } else switch (t.length) {
308
309
  case 2:
309
310
  this.wA.uniform2f(e, t[0], t[1]);
310
311
  break;
@@ -318,28 +319,25 @@ class T {
318
319
  return;
319
320
  }
320
321
  else if (t instanceof WebGLTexture) {
321
- const s = this.NA();
322
- this.wA.uniform1i(e, s), this.wA.activeTexture(this.wA.TEXTURE0 + s), this.wA.bindTexture(this.wA.TEXTURE_2D, t);
322
+ const i = this.NA();
323
+ this.wA.uniform1i(e, i), this.wA.activeTexture(this.wA.TEXTURE0 + i), this.wA.bindTexture(this.wA.TEXTURE_2D, t);
323
324
  } else if (t instanceof U) {
324
- const s = this.NA();
325
- this.wA.uniform1i(e, s), this.wA.activeTexture(this.wA.TEXTURE0 + s), this.wA.bindTexture(this.wA.TEXTURE_2D, t.texture);
326
- } else if (typeof t == "object" && "texture" in t) {
327
- const s = this.NA();
328
- this.wA.uniform1i(e, s), this.wA.activeTexture(this.wA.TEXTURE0 + s), this.wA.bindTexture(this.wA.TEXTURE_2D, t.texture);
325
+ const i = this.NA();
326
+ this.wA.uniform1i(e, i), this.wA.activeTexture(this.wA.TEXTURE0 + i), this.wA.bindTexture(this.wA.TEXTURE_2D, t.textures[0]);
329
327
  } else console.warn(`Unsupported uniform type for '${A}':`, typeof t);
330
328
  }
331
329
  NA() {
332
- return this.LA++;
330
+ return this.OA++;
333
331
  }
334
332
  get XA() {
335
- return this.kA;
333
+ return this.zA;
336
334
  }
337
- zA() {
338
- this.wA.deleteProgram(this.kA);
335
+ kA() {
336
+ this.wA.deleteProgram(this.zA);
339
337
  }
340
338
  }
341
339
  const S = `#version 300 es
342
- in vec2 a_position;in vec2 a_texCoord;in vec2 a_instancePosition;in vec2 a_instanceSize;in vec3 a_instanceCharacter;in vec4 a_instancePrimaryColor;in vec4 a_instanceSecondaryColor;in vec2 a_instanceRotation;in vec3 a_instanceTransform;in vec3 a_instanceGlobalRotation;in vec2 a_instanceRotationCenter;in vec2 a_instanceBezierCP1;in vec2 a_instanceBezierCP2;in vec2 a_instanceBezierStart;in vec2 a_instanceBezierEnd;in vec2 a_instanceArcAngles;uniform float k;uniform vec2 r;out vec2 v_uv;out vec3 v_character;out vec4 v_primaryColor;out vec4 v_secondaryColor;out vec2 v_rotation;out vec3 v_transform;mat3 A(float B){float C=sin(B),D=cos(B);return mat3(1,0,0,0,D,-C,0,C,D);}mat3 E(float B){float C=sin(B),D=cos(B);return mat3(D,0,C,0,1,0,-C,0,D);}mat3 F(float B){float C=sin(B),D=cos(B);return mat3(D,-C,0,C,D,0,0,0,1);}vec2 G(float H,vec2 I,vec2 J,vec2 K,vec2 L){float M=1.-H,N=M*M,O=H*H;return N*M*I+3.*N*H*J+3.*M*O*K+O*H*L;}vec2 P(float H,vec2 I,vec2 J,vec2 K,vec2 L){float M=1.-H,N=M*M,O=H*H;return-3.*N*I+3.*N*J-6.*M*H*J+6.*M*H*K-3.*O*K+3.*O*L;}void main(){v_uv=a_texCoord;v_character=a_instanceCharacter;v_primaryColor=a_instancePrimaryColor;v_secondaryColor=a_instanceSecondaryColor;v_rotation=a_instanceRotation;v_transform=a_instanceTransform;vec2 Q;bool R=length(a_instanceBezierCP1)+length(a_instanceBezierCP2)+length(a_instanceBezierStart)+length(a_instanceBezierEnd)>0.;bool S=a_instanceArcAngles.x!=0.||a_instanceArcAngles.y!=0.;if(R){float H=a_position.x;vec2 T=G(H,a_instanceBezierStart,a_instanceBezierCP1,a_instanceBezierCP2,a_instanceBezierEnd);vec2 U=P(H,a_instanceBezierStart,a_instanceBezierCP1,a_instanceBezierCP2,a_instanceBezierEnd);float V=length(U);U=V>0.?U/V:vec2(1,0);Q=T+vec2(-U.y,U.x)*a_position.y*a_instanceSize.y;}else if(S){float C=a_instanceArcAngles.x,W=a_instanceArcAngles.y;C=mod(C,6.28318530718);if(C<0.)C+=6.28318530718;W=mod(W,6.28318530718);if(W<0.)W+=6.28318530718;float X=C-W;if(X<=0.)X+=6.28318530718;float Y=C-a_position.x*X;vec2 Z=vec2(cos(Y),sin(Y))*a_position.y;Q=Z*a_instanceSize*.5+a_instanceSize*.5+a_instancePosition;}else{Q=a_position*a_instanceSize+a_instancePosition;}vec2 a=(Q/r)*2.-1.;a.y=-a.y;if(length(a_instanceGlobalRotation)>0.){vec3 b=vec3(a-a_instanceRotationCenter,0);b.x*=k;if(a_instanceGlobalRotation.x!=0.)b=A(-a_instanceGlobalRotation.x)*b;if(a_instanceGlobalRotation.y!=0.)b=E(-a_instanceGlobalRotation.y)*b;if(a_instanceGlobalRotation.z!=0.)b=F(-a_instanceGlobalRotation.z)*b;b.x/=k;a=b.xy+a_instanceRotationCenter;}gl_Position=vec4(a,0,1);}`;
340
+ in vec2 a_position;in vec2 a_texCoord;in vec2 a_instancePosition;in vec2 a_instanceSize;in vec3 a_instanceCharacter;in vec4 a_instancePrimaryColor;in vec4 a_instanceSecondaryColor;in vec2 a_instanceRotation;in vec3 a_instanceTransform;in vec3 a_instanceGlobalRotation;in vec2 a_instanceRotationCenter;in vec2 a_instanceBezierCP1;in vec2 a_instanceBezierCP2;in vec2 a_instanceBezierStart;in vec2 a_instanceBezierEnd;in vec2 a_instanceArcAngles;uniform float k;uniform vec2 t;out vec2 v_uv;out vec3 v_character;out vec4 v_primaryColor;out vec4 v_secondaryColor;out vec2 v_rotation;out vec3 v_transform;mat3 A(float B){float C=sin(B),D=cos(B);return mat3(1,0,0,0,D,-C,0,C,D);}mat3 E(float B){float C=sin(B),D=cos(B);return mat3(D,0,C,0,1,0,-C,0,D);}mat3 F(float B){float C=sin(B),D=cos(B);return mat3(D,-C,0,C,D,0,0,0,1);}vec2 G(float t,vec2 H,vec2 I,vec2 J,vec2 K){float L=1.-t,M=L*L,N=t*t;return M*L*H+3.*M*t*I+3.*L*N*J+N*t*K;}vec2 O(float t,vec2 H,vec2 I,vec2 J,vec2 K){float L=1.-t,M=L*L,N=t*t;return-3.*M*H+3.*M*I-6.*L*t*I+6.*L*t*J-3.*N*J+3.*N*K;}void main(){v_uv=a_texCoord;v_character=a_instanceCharacter;v_primaryColor=a_instancePrimaryColor;v_secondaryColor=a_instanceSecondaryColor;v_rotation=a_instanceRotation;v_transform=a_instanceTransform;vec2 P;bool Q=length(a_instanceBezierCP1)+length(a_instanceBezierCP2)+length(a_instanceBezierStart)+length(a_instanceBezierEnd)>0.;bool R=a_instanceArcAngles.x!=0.||a_instanceArcAngles.y!=0.;if(Q){float t=a_position.x;vec2 S=G(t,a_instanceBezierStart,a_instanceBezierCP1,a_instanceBezierCP2,a_instanceBezierEnd);vec2 T=O(t,a_instanceBezierStart,a_instanceBezierCP1,a_instanceBezierCP2,a_instanceBezierEnd);float U=length(T);T=U>0.?T/U:vec2(1,0);P=S+vec2(-T.y,T.x)*a_position.y*a_instanceSize.y;}else if(R){float C=a_instanceArcAngles.x,V=a_instanceArcAngles.y;C=mod(C,6.28318530718);if(C<0.)C+=6.28318530718;V=mod(V,6.28318530718);if(V<0.)V+=6.28318530718;float W=C-V;if(W<=0.)W+=6.28318530718;float X=C-a_position.x*W;vec2 Y=vec2(cos(X),sin(X))*a_position.y;P=Y*a_instanceSize*.5+a_instanceSize*.5+a_instancePosition;}else{P=a_position*a_instanceSize+a_instancePosition;}vec2 Z=(P/t)*2.-1.;Z.y=-Z.y;if(length(a_instanceGlobalRotation)>0.){vec3 a=vec3(Z-a_instanceRotationCenter,0);a.x*=k;if(a_instanceGlobalRotation.x!=0.)a=A(-a_instanceGlobalRotation.x)*a;if(a_instanceGlobalRotation.y!=0.)a=E(-a_instanceGlobalRotation.y)*a;if(a_instanceGlobalRotation.z!=0.)a=F(-a_instanceGlobalRotation.z)*a;a.x/=k;Z=a.xy+a_instanceRotationCenter;}gl_Position=vec4(Z,0,1);}`;
343
341
  class eA {
344
342
  constructor(A) {
345
343
  Q(this, "jA", /* @__PURE__ */ new Map());
@@ -370,8 +368,8 @@ precision highp float;in vec2 v_uv;in vec3 v_character;in vec4 v_primaryColor;in
370
368
  st(A, t) {
371
369
  return new T(this.wA, A, t);
372
370
  }
373
- zA() {
374
- for (const A of this.jA.values()) A.zA();
371
+ kA() {
372
+ for (const A of this.jA.values()) A.kA();
375
373
  this.jA.clear();
376
374
  }
377
375
  }
@@ -399,7 +397,7 @@ class sA {
399
397
  gt() {
400
398
  this.wA.bindVertexArray(null);
401
399
  }
402
- zA() {
400
+ kA() {
403
401
  const A = this.wA;
404
402
  for (const [, t] of this.it) for (const [, e] of t) e && A.deleteVertexArray(e);
405
403
  this.it.clear();
@@ -416,7 +414,7 @@ class iA {
416
414
  }
417
415
  Ct(A, t, e) {
418
416
  const { shader: s } = A, i = G(this.wA) || this.wA.getParameter(this.wA.VIEWPORT);
419
- s.JA({ k: i[2] / i[3], r: [i[2], i[3]] });
417
+ s.JA({ k: i[2] / i[3], t: [i[2], i[3]] });
420
418
  const B = (o) => {
421
419
  if (!o || !o.lt()) return;
422
420
  const a = o.unitGeometry, g = o.unitBuffer;
@@ -440,16 +438,16 @@ class iA {
440
438
  }
441
439
  dt(A, t, e, s) {
442
440
  const { x: i, y: B, width: r, height: n, shader: o, uniforms: a } = t;
443
- if (o === this.vt()) return this.yt(s, o, a, Math.floor(i), Math.floor(B), Math.max(1, Math.floor(r)), Math.max(1, Math.floor(n)), e), void A.shader.WA();
441
+ if (o === this.vt()) return this.yt(s, o, a, Math.floor(i), Math.floor(B), Math.max(1, Math.floor(r)), Math.max(1, Math.floor(n)), e), void A.shader.HA();
444
442
  const g = this.bt(Math.max(1, Math.floor(r)), Math.max(1, Math.floor(n)));
445
443
  g.begin(), this.yt(s, o, a, 0, 0, g.width, g.height, {}), g.end();
446
444
  const h = this.vt(), c = { l: g.textures[0], m: g.textures[1], n: g.textures[2], o: g.textures[3], p: g.textures[4], q: [g.width, g.height] };
447
- this.yt(s, h, c, Math.floor(i), Math.floor(B), Math.max(1, Math.floor(r)), Math.max(1, Math.floor(n)), e), A.shader.WA();
445
+ this.yt(s, h, c, Math.floor(i), Math.floor(B), Math.max(1, Math.floor(r)), Math.max(1, Math.floor(n)), e), A.shader.HA();
448
446
  }
449
447
  yt(A, t, e, s, i, B, r, n) {
450
- t.WA(), t.JA(e);
448
+ t.HA(), t.JA(e);
451
449
  const o = this.wA.getParameter(this.wA.VIEWPORT);
452
- if (t.JA({ k: o[2] / o[3], r: [o[2], o[3]] }), A.ft(), A._t({ x: s, y: i, width: B, height: r }, n), A.lt()) {
450
+ if (t.JA({ k: o[2] / o[3], t: [o[2], o[3]] }), A.ft(), A._t({ x: s, y: i, width: B, height: r }, n), A.lt()) {
453
451
  const a = A.unitGeometry, g = A.unitBuffer;
454
452
  try {
455
453
  this.ot.Bt(t.XA, A.type + "", a, g), A.batch.Dt(t), A.batch.Pt(a.ut, a.It);
@@ -462,22 +460,22 @@ class iA {
462
460
  return this.vA.At();
463
461
  }
464
462
  bt(A, t) {
465
- return this.ht && this.ct && this.ct.w === A && this.ct.h === t || (this.ht && this.ht.zA(), this.ht = new U(this.wA, A, t, 5), this.ct = { w: A, h: t }), this.ht;
463
+ return this.ht && this.ct && this.ct.w === A && this.ct.h === t || (this.ht && this.ht.kA(), this.ht = new U(this.wA, A, t, 5), this.ct = { w: A, h: t }), this.ht;
466
464
  }
467
465
  }
468
466
  class BA {
469
467
  constructor() {
470
- Q(this, "Gt", []);
471
- Q(this, "Mt", 1);
472
- Q(this, "$t", 0);
468
+ Q(this, "$t", []);
469
+ Q(this, "Gt", 1);
470
+ Q(this, "Mt", 0);
473
471
  }
474
472
  xt(A) {
475
- if (this.$t >= this.Gt.length) {
476
- const e = { id: this.Mt++, type: A, params: {}, state: { V: 1, Z: 0, N: 0, X: 0, character: [0, 0, 0], charColor: [1, 1, 1, 1], bgColor: [0, 0, 0, 1], flipHorizontally: !1, flipVertically: !1, invert: !1, charRotation: [0, 0] } };
477
- this.Gt.push(e);
473
+ if (this.Mt >= this.$t.length) {
474
+ const e = { id: this.Gt++, type: A, params: {}, state: { V: 1, Z: 0, N: 0, X: 0, character: [0, 0, 0], charColor: [1, 1, 1, 1], bgColor: [0, 0, 0, 1], flipHorizontally: !1, flipVertically: !1, invert: !1, charRotation: [0, 0] } };
475
+ this.$t.push(e);
478
476
  }
479
- const t = this.Gt[this.$t];
480
- switch (t.id = this.Mt++, t.type = A, A) {
477
+ const t = this.$t[this.Mt];
478
+ switch (t.id = this.Gt++, t.type = A, A) {
481
479
  case D.RECTANGLE:
482
480
  case D.ELLIPSE:
483
481
  t.params && "width" in t.params || (t.params = { x: 0, y: 0, width: 0, height: 0 });
@@ -500,7 +498,7 @@ class BA {
500
498
  default:
501
499
  t.params || (t.params = {});
502
500
  }
503
- return this.$t++, t;
501
+ return this.Mt++, t;
504
502
  }
505
503
  Yt(A, t, e, s, i) {
506
504
  const B = this.xt(D.RECTANGLE);
@@ -518,51 +516,51 @@ class BA {
518
516
  const B = this.xt(D.ELLIPSE);
519
517
  return B.params.x = A, B.params.y = t, B.params.width = e, B.params.height = s, i.BA(B.state), B.id;
520
518
  }
521
- zt(A, t, e, s, i, B, r) {
519
+ kt(A, t, e, s, i, B, r) {
522
520
  const n = this.xt(D.ARC);
523
521
  return n.params.x = A, n.params.y = t, n.params.width = e, n.params.height = s, n.params.start = i, n.params.stop = B, r.BA(n.state), n.id;
524
522
  }
525
- kt(A, t, e, s, i, B, r) {
523
+ zt(A, t, e, s, i, B, r) {
526
524
  const n = this.xt(D.TRIANGLE);
527
525
  return n.params.x1 = A, n.params.y1 = t, n.params.x2 = e, n.params.y2 = s, n.params.x3 = i, n.params.y3 = B, r.BA(n.state), n.id;
528
526
  }
529
- Ot(A, t, e, s, i, B, r, n, o, a) {
527
+ Lt(A, t, e, s, i, B, r, n, o, a) {
530
528
  const g = this.xt(D.BEZIER_CURVE);
531
529
  return g.params.x1 = A, g.params.y1 = t, g.params.cp1x = e, g.params.cp1y = s, g.params.cp2x = i, g.params.cp2y = B, g.params.x2 = r, g.params.y2 = n, g.params.thickness = o, a.BA(g.state), g.id;
532
530
  }
533
531
  get length() {
534
- return this.$t;
532
+ return this.Mt;
535
533
  }
536
534
  get isEmpty() {
537
- return this.$t === 0;
535
+ return this.Mt === 0;
538
536
  }
539
- Lt() {
540
- this.$t = 0;
537
+ Ot() {
538
+ this.Mt = 0;
541
539
  }
542
540
  [Symbol.iterator]() {
543
541
  let A = 0;
544
- const t = this.$t, e = this.Gt;
542
+ const t = this.Mt, e = this.$t;
545
543
  return { next: () => A < t ? { value: e[A++], done: !1 } : { value: void 0, done: !0 } };
546
544
  }
547
545
  }
548
- const y = class y {
549
- static Ut(A, t, e = 0) {
546
+ const v = class v {
547
+ static Tt(A, t, e = 0) {
550
548
  var B, r, n, o, a, g, h, c, l, C;
551
- const s = t || new Float32Array(y.FLOATS_PER_INSTANCE);
549
+ const s = t || new Float32Array(v.FLOATS_PER_INSTANCE);
552
550
  let i = e;
553
551
  return s[i++] = A.position[0], s[i++] = A.position[1], s[i++] = A.size[0], s[i++] = A.size[1], s[i++] = A.AA[0], s[i++] = A.AA[1], s[i++] = A.AA[2], s[i++] = A.primaryColor[0], s[i++] = A.primaryColor[1], s[i++] = A.primaryColor[2], s[i++] = A.primaryColor[3], s[i++] = A.secondaryColor[0], s[i++] = A.secondaryColor[1], s[i++] = A.secondaryColor[2], s[i++] = A.secondaryColor[3], s[i++] = A.rotation[0], s[i++] = A.rotation[1], s[i++] = A.transform[0], s[i++] = A.transform[1], s[i++] = A.transform[2], s[i++] = A.globalRotationX, s[i++] = A.globalRotationY, s[i++] = A.globalRotationZ, s[i++] = A.rotationCenter[0], s[i++] = A.rotationCenter[1], s[i++] = ((B = A.arcAngles) == null ? void 0 : B[0]) || 0, s[i++] = ((r = A.arcAngles) == null ? void 0 : r[1]) || 0, s[i++] = ((n = A.bezierControlPoint1) == null ? void 0 : n[0]) || 0, s[i++] = ((o = A.bezierControlPoint1) == null ? void 0 : o[1]) || 0, s[i++] = ((a = A.bezierControlPoint2) == null ? void 0 : a[0]) || 0, s[i++] = ((g = A.bezierControlPoint2) == null ? void 0 : g[1]) || 0, s[i++] = ((h = A.bezierStartPoint) == null ? void 0 : h[0]) || 0, s[i++] = ((c = A.bezierStartPoint) == null ? void 0 : c[1]) || 0, s[i++] = ((l = A.bezierEndPoint) == null ? void 0 : l[0]) || 0, s[i++] = ((C = A.bezierEndPoint) == null ? void 0 : C[1]) || 0, s;
554
552
  }
555
- static Tt(A) {
556
- const t = A.length * y.FLOATS_PER_INSTANCE, e = new Float32Array(t);
553
+ static Ut(A) {
554
+ const t = A.length * v.FLOATS_PER_INSTANCE, e = new Float32Array(t);
557
555
  for (let s = 0; s < A.length; s++) {
558
- const i = s * y.FLOATS_PER_INSTANCE;
559
- y.Ut(A[s], e, i);
556
+ const i = s * v.FLOATS_PER_INSTANCE;
557
+ v.Tt(A[s], e, i);
560
558
  }
561
559
  return e;
562
560
  }
563
561
  };
564
- Q(y, "BYTES_PER_INSTANCE", 140), Q(y, "FLOATS_PER_INSTANCE", 35);
565
- let x = y;
562
+ Q(v, "BYTES_PER_INSTANCE", 140), Q(v, "FLOATS_PER_INSTANCE", 35);
563
+ let x = v;
566
564
  const P = class P {
567
565
  };
568
566
  Q(P, "STRIDE", x.BYTES_PER_INSTANCE), Q(P, "ATTRIBUTES", { a_instancePosition: { location: -1, size: 2, type: WebGL2RenderingContext.FLOAT, normalized: !1, stride: P.STRIDE, offset: 0, divisor: 1 }, a_instanceSize: { location: -1, size: 2, type: WebGL2RenderingContext.FLOAT, normalized: !1, stride: P.STRIDE, offset: 8, divisor: 1 }, a_instanceCharacter: { location: -1, size: 3, type: WebGL2RenderingContext.FLOAT, normalized: !1, stride: P.STRIDE, offset: 16, divisor: 1 }, a_instancePrimaryColor: { location: -1, size: 4, type: WebGL2RenderingContext.FLOAT, normalized: !1, stride: P.STRIDE, offset: 28, divisor: 1 }, a_instanceSecondaryColor: { location: -1, size: 4, type: WebGL2RenderingContext.FLOAT, normalized: !1, stride: P.STRIDE, offset: 44, divisor: 1 }, a_instanceRotation: { location: -1, size: 2, type: WebGL2RenderingContext.FLOAT, normalized: !1, stride: P.STRIDE, offset: 60, divisor: 1 }, a_instanceTransform: { location: -1, size: 3, type: WebGL2RenderingContext.FLOAT, normalized: !1, stride: P.STRIDE, offset: 68, divisor: 1 }, a_instanceGlobalRotation: { location: -1, size: 3, type: WebGL2RenderingContext.FLOAT, normalized: !1, stride: P.STRIDE, offset: 80, divisor: 1 }, a_instanceRotationCenter: { location: -1, size: 2, type: WebGL2RenderingContext.FLOAT, normalized: !1, stride: P.STRIDE, offset: 92, divisor: 1 }, a_instanceArcAngles: { location: -1, size: 2, type: WebGL2RenderingContext.FLOAT, normalized: !1, stride: P.STRIDE, offset: 100, divisor: 1 }, a_instanceBezierCP1: { location: -1, size: 2, type: WebGL2RenderingContext.FLOAT, normalized: !1, stride: P.STRIDE, offset: 108, divisor: 1 }, a_instanceBezierCP2: { location: -1, size: 2, type: WebGL2RenderingContext.FLOAT, normalized: !1, stride: P.STRIDE, offset: 116, divisor: 1 }, a_instanceBezierStart: { location: -1, size: 2, type: WebGL2RenderingContext.FLOAT, normalized: !1, stride: P.STRIDE, offset: 124, divisor: 1 }, a_instanceBezierEnd: { location: -1, size: 2, type: WebGL2RenderingContext.FLOAT, normalized: !1, stride: P.STRIDE, offset: 132, divisor: 1 } });
@@ -570,45 +568,45 @@ let Y = P;
570
568
  class rA {
571
569
  constructor(A, t = 1e3, e = 1.5) {
572
570
  Q(this, "wA");
573
- Q(this, "Ht", []);
574
- Q(this, "Wt");
571
+ Q(this, "Wt", []);
572
+ Q(this, "Ht");
575
573
  Q(this, "Kt");
576
574
  Q(this, "Jt", null);
577
575
  Q(this, "Vt", !0);
578
576
  Q(this, "Zt", 0);
579
577
  Q(this, "Nt", /* @__PURE__ */ new Map());
580
578
  Q(this, "Xt", null);
581
- this.wA = A, this.Wt = t, this.Kt = e, this.jt();
579
+ this.wA = A, this.Ht = t, this.Kt = e, this.jt();
582
580
  }
583
581
  _t(A) {
584
- const t = this.Ht.length;
585
- return this.Ht.push(A), this.Vt = !0, t;
582
+ const t = this.Wt.length;
583
+ return this.Wt.push(A), this.Vt = !0, t;
586
584
  }
587
585
  get count() {
588
- return this.Ht.length;
586
+ return this.Wt.length;
589
587
  }
590
588
  get isEmpty() {
591
- return this.Ht.length === 0;
589
+ return this.Wt.length === 0;
592
590
  }
593
591
  clear() {
594
- this.Ht.length = 0, this.Vt = !0;
592
+ this.Wt.length = 0, this.Vt = !0;
595
593
  }
596
594
  qt(A) {
597
- if (A <= this.Wt) return;
595
+ if (A <= this.Ht) return;
598
596
  const t = Math.ceil(A * this.Kt);
599
- this.Wt = t, this.jt();
597
+ this.Ht = t, this.jt();
600
598
  }
601
599
  jt() {
602
600
  const A = this.wA;
603
601
  this.Jt && A.deleteBuffer(this.Jt), this.Jt = A.createBuffer();
604
- const t = this.Wt * x.BYTES_PER_INSTANCE;
602
+ const t = this.Ht * x.BYTES_PER_INSTANCE;
605
603
  A.bindBuffer(A.ARRAY_BUFFER, this.Jt), A.bufferData(A.ARRAY_BUFFER, t, A.DYNAMIC_DRAW), A.bindBuffer(A.ARRAY_BUFFER, null), this.Vt = !0, this.Zt = 0;
606
604
  }
607
605
  Ae() {
608
- if (!this.Vt || this.Ht.length === 0) return;
609
- const A = this.wA, t = this.Ht.length;
606
+ if (!this.Vt || this.Wt.length === 0) return;
607
+ const A = this.wA, t = this.Wt.length;
610
608
  this.qt(t), (!this.Xt || this.Xt.length < t * x.FLOATS_PER_INSTANCE) && (this.Xt = new Float32Array(t * x.FLOATS_PER_INSTANCE));
611
- const e = x.Tt(this.Ht);
609
+ const e = x.Ut(this.Wt);
612
610
  A.bindBuffer(A.ARRAY_BUFFER, this.Jt), t <= this.Zt ? A.bufferSubData(A.ARRAY_BUFFER, 0, e) : A.bufferData(A.ARRAY_BUFFER, e, A.DYNAMIC_DRAW), A.bindBuffer(A.ARRAY_BUFFER, null), this.Vt = !1, this.Zt = t;
613
611
  }
614
612
  te(A) {
@@ -625,7 +623,7 @@ class rA {
625
623
  return t;
626
624
  }
627
625
  Dt(A) {
628
- if (!this.Jt || this.Ht.length === 0) return;
626
+ if (!this.Jt || this.Wt.length === 0) return;
629
627
  const t = this.wA, e = A.XA;
630
628
  this.Ae();
631
629
  const s = this.te(e);
@@ -640,11 +638,11 @@ class rA {
640
638
  for (const [, s] of e) t.disableVertexAttribArray(s), t.vertexAttribDivisor(s, 0);
641
639
  }
642
640
  Pt(A, t) {
643
- this.Ht.length !== 0 && this.wA.drawArraysInstanced(A, 0, t, this.Ht.length);
641
+ this.Wt.length !== 0 && this.wA.drawArraysInstanced(A, 0, t, this.Wt.length);
644
642
  }
645
- zA() {
643
+ kA() {
646
644
  const A = this.wA;
647
- this.Jt && (A.deleteBuffer(this.Jt), this.Jt = null), this.Ht.length = 0, this.Nt.clear(), this.Xt = null;
645
+ this.Jt && (A.deleteBuffer(this.Jt), this.Jt = null), this.Wt.length = 0, this.Nt.clear(), this.Xt = null;
648
646
  }
649
647
  }
650
648
  class b {
@@ -677,8 +675,8 @@ class b {
677
675
  lt() {
678
676
  return !this.ee.isEmpty;
679
677
  }
680
- zA() {
681
- this.ee.zA(), this.Be && (this.wA.deleteBuffer(this.Be), this.Be = null);
678
+ kA() {
679
+ this.ee.kA(), this.Be && (this.wA.deleteBuffer(this.Be), this.Be = null);
682
680
  }
683
681
  Ee(A, t, e, s, i) {
684
682
  const B = this.re(A, t, e, s, i.rotationX || 0, i.rotationY || 0, i.rotationZ || 0);
@@ -795,7 +793,7 @@ class uA {
795
793
  Q(this, "Pe");
796
794
  Q(this, "ue");
797
795
  Q(this, "K", []);
798
- this.wA = A, this.ae = new eA(A), this.ue = new V(), this.De = new iA(A, this), this.Pe = new BA(), this.Ce = A.createBuffer(), F(this.wA, [0, 0, this.wA.canvas.width, this.wA.canvas.height]);
796
+ this.wA = A, this.ae = new eA(A), this.ue = new X(), this.De = new iA(A, this), this.Pe = new BA(), this.Ce = A.createBuffer(), F(this.wA, [0, 0, this.wA.canvas.width, this.wA.canvas.height]);
799
797
  }
800
798
  Ie(A) {
801
799
  let t = this.le.get(A);
@@ -804,7 +802,7 @@ class uA {
804
802
  return t = (0, { [D.RECTANGLE]: () => new QA(this.wA, e), [D.LINE]: () => new oA(this.wA, e), [D.ELLIPSE]: () => new aA(this.wA, e), [D.ARC]: () => new cA(this.wA, e), [D.TRIANGLE]: () => new CA(this.wA, e), [D.BEZIER_CURVE]: () => new PA(this.wA, e) }[A])(), this.le.set(A, t), t;
805
803
  }
806
804
  we(A) {
807
- this.oe !== A && (this.oe = A, A.WA());
805
+ this.oe !== A && (this.oe = A, A.HA());
808
806
  }
809
807
  fe(A, t) {
810
808
  return this.ae.st(A, t);
@@ -850,23 +848,23 @@ class uA {
850
848
  be(A, t, e, s) {
851
849
  this.Pe.St(A, t, e, s, this.ue);
852
850
  }
853
- Ge(A, t, e, s, i, B) {
854
- this.Pe.kt(A, t, e, s, i, B, this.ue);
851
+ $e(A, t, e, s, i, B) {
852
+ this.Pe.zt(A, t, e, s, i, B, this.ue);
855
853
  }
856
- Me(A, t, e, s, i, B, r, n) {
854
+ Ge(A, t, e, s, i, B, r, n) {
857
855
  const o = this.ue.lineWeight;
858
- this.Pe.Ot(A, t, e, s, i, B, r, n, o, this.ue);
856
+ this.Pe.Lt(A, t, e, s, i, B, r, n, o, this.ue);
859
857
  }
860
- $e(A, t, e = 1, s = {}) {
858
+ Me(A, t, e = 1, s = {}) {
861
859
  return new U(this.wA, A, t, e, s, this, !0);
862
860
  }
863
861
  xe(A, t, e, s, i, B) {
864
- this.Pe.zt(A, t, e, s, i, B, this.ue);
862
+ this.Pe.kt(A, t, e, s, i, B, this.ue);
865
863
  }
866
864
  Ye(A, t = A, e = A, s = 255) {
867
- this.state.DA(A, t, e, s), this.Lt(A / 255, t / 255, e / 255, s / 255);
865
+ this.state.DA(A, t, e, s), this.Ot(A / 255, t / 255, e / 255, s / 255);
868
866
  }
869
- Lt(A = 0, t = 0, e = 0, s = 0) {
867
+ Ot(A = 0, t = 0, e = 0, s = 0) {
870
868
  this.wA.clearColor(A, t, e, s), this.wA.clear(this.wA.COLOR_BUFFER_BIT);
871
869
  }
872
870
  Fe() {
@@ -891,12 +889,12 @@ class uA {
891
889
  const i = /* @__PURE__ */ new Set();
892
890
  for (const B of this.Pe) B.type === D.CUSTOM ? i.add(D.RECTANGLE) : i.add(B.type);
893
891
  for (const B of i) B !== D.CUSTOM && this.Ie(B);
894
- this.De.Ct(s, this.Pe, this.le), this.Pe.Lt();
892
+ this.De.Ct(s, this.Pe, this.le), this.Pe.Ot();
895
893
  }
896
- zA() {
897
- this.wA.deleteBuffer(this.Ce), this.Pe.Lt();
898
- for (const A of this.le.values()) A.zA();
899
- this.ae.zA();
894
+ kA() {
895
+ this.wA.deleteBuffer(this.Ce), this.Pe.Ot();
896
+ for (const A of this.le.values()) A.kA();
897
+ this.ae.kA();
900
898
  }
901
899
  }
902
900
  const u = { readShort: (E, A) => (u.t.uint16[0] = E[A] << 8 | E[A + 1], u.t.int16[0]), readUshort: (E, A) => E[A] << 8 | E[A + 1], readUshorts(E, A, t) {
@@ -978,7 +976,7 @@ const u = { readShort: (E, A) => (u.t.uint16[0] = E[A] << 8 | E[A + 1], u.t.int1
978
976
  for (; g < n; ) o = s.readUshort(E, A + (g << 2)), a = s.readShort(E, A + (g << 2) + 2), i.push(o), B.push(a), g++;
979
977
  for (; g < r; ) i.push(o), B.push(a), g++;
980
978
  return { aWidth: i, lsBearing: B };
981
- } }, k = { cmap: wA, head: IA, hhea: fA, maxp: { parseTab(E, A, t) {
979
+ } }, N = { cmap: wA, head: IA, hhea: fA, maxp: { parseTab(E, A, t) {
982
980
  const e = u;
983
981
  return e.readUint(E, A), A += 4, { numGlyphs: e.readUshort(E, A) };
984
982
  } }, hmtx: dA, loca: { parseTab(E, A, t, e) {
@@ -993,7 +991,7 @@ const u = { readShort: (E, A) => (u.t.uint16[0] = E[A] << 8 | E[A + 1], u.t.int1
993
991
  }, Re(E, A) {
994
992
  const t = u, e = E.Se, s = E.loca;
995
993
  if (s[A] === s[A + 1]) return null;
996
- const i = m.findTable(e, "glyf", E.ze);
994
+ const i = m.findTable(e, "glyf", E.ke);
997
995
  if (!i) return null;
998
996
  let B = i[0] + s[A];
999
997
  const r = {};
@@ -1029,7 +1027,7 @@ const u = { readShort: (E, A) => (u.t.uint16[0] = E[A] << 8 | E[A + 1], u.t.int1
1029
1027
  } else r.parts = [], r.endPts = [], r.flags = [], r.xs = [], r.ys = [];
1030
1028
  return r;
1031
1029
  } } }, m = { parse: (E) => [((A, t, e, s) => {
1032
- const i = k, B = { Se: A, ke: t, ze: e };
1030
+ const i = N, B = { Se: A, ze: t, ke: e };
1033
1031
  for (const r in i) {
1034
1032
  const n = r, o = m.findTable(A, n, e);
1035
1033
  if (o) {
@@ -1050,24 +1048,24 @@ const u = { readShort: (E, A) => (u.t.uint16[0] = E[A] << 8 | E[A + 1], u.t.int1
1050
1048
  i += 16;
1051
1049
  }
1052
1050
  return null;
1053
- }, T: k, B: u };
1051
+ }, T: N, B: u };
1054
1052
  class _ {
1055
1053
  constructor() {
1056
- Q(this, "Oe", /* @__PURE__ */ new Map());
1057
1054
  Q(this, "Le", /* @__PURE__ */ new Map());
1055
+ Q(this, "Oe", /* @__PURE__ */ new Map());
1058
1056
  }
1059
- Ue(A, t) {
1060
- const e = `${this.Te(A)}_${t}`;
1061
- if (this.Oe.has(e)) return this.Oe.get(e);
1057
+ Te(A, t) {
1058
+ const e = `${this.Ue(A)}_${t}`;
1059
+ if (this.Le.has(e)) return this.Le.get(e);
1062
1060
  const s = A.cmap;
1063
- if (!s || !s.tables) return this.Oe.set(e, 0), 0;
1061
+ if (!s || !s.tables) return this.Le.set(e, 0), 0;
1064
1062
  let i = 0;
1065
- for (const B of s.tables) if (B.format === 4 ? i = this.He(t, B) : B.format === 12 && (i = this.We(t, B)), i > 0) break;
1066
- return this.Oe.set(e, i), i;
1063
+ for (const B of s.tables) if (B.format === 4 ? i = this.We(t, B) : B.format === 12 && (i = this.He(t, B)), i > 0) break;
1064
+ return this.Le.set(e, i), i;
1067
1065
  }
1068
1066
  Ke(A, t) {
1069
1067
  const e = t.codePointAt(0);
1070
- return e === void 0 ? 0 : this.Ue(A, e);
1068
+ return e === void 0 ? 0 : this.Te(A, e);
1071
1069
  }
1072
1070
  Je(A, t) {
1073
1071
  const e = A.hmtx;
@@ -1078,12 +1076,12 @@ class _ {
1078
1076
  return { ascender: s, descender: i, lineGap: B, lineHeight: s - i + B, unitsPerEm: A.head.unitsPerEm, scale: e };
1079
1077
  }
1080
1078
  Ze() {
1081
- this.Oe.clear(), this.Le.clear();
1079
+ this.Le.clear(), this.Oe.clear();
1082
1080
  }
1083
- Te(A) {
1084
- return `${A.ze}_${A.Se.length}`;
1081
+ Ue(A) {
1082
+ return `${A.ke}_${A.Se.length}`;
1085
1083
  }
1086
- He(A, t) {
1084
+ We(A, t) {
1087
1085
  const e = t.endCount.length;
1088
1086
  let s = -1;
1089
1087
  for (let i = 0; i < e; i++) if (A <= t.endCount[i]) {
@@ -1101,7 +1099,7 @@ class _ {
1101
1099
  }
1102
1100
  return 0;
1103
1101
  }
1104
- We(A, t) {
1102
+ He(A, t) {
1105
1103
  const e = t.groups.length / 3;
1106
1104
  for (let s = 0; s < e; s++) {
1107
1105
  const i = t.groups[3 * s], B = t.groups[3 * s + 1], r = t.groups[3 * s + 2];
@@ -1206,7 +1204,7 @@ class mA {
1206
1204
  return this.Es.ts(A, t);
1207
1205
  }
1208
1206
  }
1209
- class yA {
1207
+ class vA {
1210
1208
  constructor(A) {
1211
1209
  Q(this, "rs");
1212
1210
  Q(this, "ns");
@@ -1217,8 +1215,8 @@ class yA {
1217
1215
  createTextureAtlas(A, t, e, s) {
1218
1216
  const i = A.length, B = Math.ceil(Math.sqrt(i)), r = Math.ceil(i / B), n = t.width * B, o = t.height * r, a = typeof s == "object" ? s : null;
1219
1217
  this.hs(n, o), this.cs(A, t, B, e, a);
1220
- const g = this.vA.$e(n, o, 1, { filter: "nearest" });
1221
- return g.$A(this.rs), { framebuffer: g, columns: B, rows: r };
1218
+ const g = this.vA.Me(n, o, 1, { filter: "nearest" });
1219
+ return g.MA(this.rs), { framebuffer: g, columns: B, rows: r };
1222
1220
  }
1223
1221
  hs(A, t) {
1224
1222
  this.rs.width = A, this.rs.height = t, this.rs.style.width = A + "px", this.rs.style.height = A + "px", this.ns.imageSmoothingEnabled = !1, this.rs.style.imageRendering = "pixelated", this.ns.fillStyle = "black", this.ns.fillRect(0, 0, A, t), this.ns.textBaseline = "top", this.ns.textAlign = "left", this.ns.fillStyle = "white";
@@ -1228,12 +1226,12 @@ class yA {
1228
1226
  for (let r = 0; r < A.length; r++) {
1229
1227
  const n = r % e, o = Math.floor(r / e), a = A[r].character, g = this.Cs(i, a);
1230
1228
  if (!g) continue;
1231
- const h = a.codePointAt(0) || 0, c = this.gs.Ue(i, h), l = this.ls(i, c) * B, C = n * t.width, f = o * t.height, w = C + 0.5 * t.width, d = f + 0.5 * t.height, p = Math.round(w - 0.5 * t.width), R = Math.round(d - 0.5 * s), Z = p + 0.5 * (t.width - l), j = R + i.hhea.ascender * B;
1229
+ const h = a.codePointAt(0) || 0, c = this.gs.Te(i, h), l = this.ls(i, c) * B, C = n * t.width, f = o * t.height, w = C + 0.5 * t.width, d = f + 0.5 * t.height, p = Math.round(w - 0.5 * t.width), R = Math.round(d - 0.5 * s), Z = p + 0.5 * (t.width - l), j = R + i.hhea.ascender * B;
1232
1230
  this.Ds(g, Z, j, B);
1233
1231
  }
1234
1232
  }
1235
1233
  Cs(A, t) {
1236
- const e = t.codePointAt(0) || 0, s = this.gs.Ue(A, e);
1234
+ const e = t.codePointAt(0) || 0, s = this.gs.Te(A, e);
1237
1235
  if (s === 0) return null;
1238
1236
  if (A.glyf && A.glyf[s] !== null) return A.glyf[s];
1239
1237
  if (m && m.T && m.T.glyf) {
@@ -1282,7 +1280,7 @@ class yA {
1282
1280
  this.ns.fill();
1283
1281
  }
1284
1282
  }
1285
- class vA {
1283
+ class yA {
1286
1284
  constructor() {
1287
1285
  Q(this, "Ne");
1288
1286
  this.Ne = new _();
@@ -1319,7 +1317,7 @@ class xA {
1319
1317
  const i = e.codePointAt(0) || 0, B = this.Ps(s);
1320
1318
  let r = 0;
1321
1319
  if (t.hmtx && t.hmtx.aWidth) {
1322
- const n = this.gs.Ue(t, i);
1320
+ const n = this.gs.Te(t, i);
1323
1321
  n > 0 && t.hmtx.aWidth[n] !== void 0 && (r = t.hmtx.aWidth[n]);
1324
1322
  }
1325
1323
  return { character: e, unicode: i, color: B, advanceWidth: r };
@@ -1346,12 +1344,12 @@ class bA {
1346
1344
  Q(this, "ps", 0);
1347
1345
  Q(this, "vs", 0);
1348
1346
  Q(this, "bs", { width: 0, height: 0 });
1347
+ Q(this, "$s");
1349
1348
  Q(this, "Gs");
1350
1349
  Q(this, "Ms");
1351
- Q(this, "$s");
1352
1350
  Q(this, "Ys");
1353
1351
  Q(this, "Fs");
1354
- this._s = t, this.Ms = new mA(), this.$s = new yA(A), this.Ys = new vA(), this.Fs = new xA();
1352
+ this._s = t, this.Gs = new mA(), this.Ms = new vA(A), this.Ys = new yA(), this.Fs = new xA();
1355
1353
  }
1356
1354
  async Rs(A) {
1357
1355
  let t;
@@ -1362,15 +1360,15 @@ class bA {
1362
1360
  } else
1363
1361
  t = await (await fetch(`data:font/truetype;charset=utf-8;base64,AAEAAAAKAIAAAwAgT1MvMs+QEyQAAAEoAAAAYGNtYXAg7yVJAAAFjAAACSBnbHlmuHLTdAAAErQAAGi0aGVhZFvXdUwAAACsAAAANmhoZWELAQUCAAAA5AAAACRobXR4BACDgAAAAYgAAAQEbG9jYQAy54AAAA6sAAAECG1heHABIgCCAAABCAAAACBuYW1lVs/OSgAAe2gAAAOicG9zdABpADQAAH8MAAAAIAABAAAAAQAAzOWHqV8PPPUAAAQAAAAAAHxiGCcAAAAAfGIYJwAAAAAEAAQAAAAACAACAAEAAAAAAAEAAAQAAAAAAAQAAAAAAAcAAAEAAAAAAAAAAAAAAAAAAAEBAAEAAAEBAIAAIAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAZAABQAEAgACAAAAAAACAAIAAAACAAAzAMwAAAAABAAAAAAAAACAAACLAABw4wAAAAAAAAAAWUFMLgBAACAmawQAAAAAAAQAAAAAAAFRAAAAAAMABAAAAAAgAAAEAAAABAAAAAQAAAAEAAGABAABAAQAAIAEAACABAAAgAQAAIAEAAGABAABAAQAAQAEAACABAABAAQAAIAEAACABAABAAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAABAAQAAIAEAAEABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAABAAQAAIAEAAEABAAAgAQAAIAEAAEABAAAgAQAAIAEAACABAAAgAQAAIAEAAEABAAAgAQAAIAEAAGABAAAgAQAAIAEAAGABAAAgAQAAIAEAACABAAAgAQAAIAEAAEABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAABgAQAAQAEAACABAAAAAQAAgAEAACABAAAgAQAAIAEAACABAACAAQAAAAEAAIABAABgAQAAgAEAACABAAAgAQAAAAEAACABAAAAAQAAAAEAAAABAAAAAQAAAAEAAIABAADAAQAAAAEAAAABAAAgAQAAYAEAAAABAAAAAQAAIAEAAAA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AIAAAACA/YAAgAAAAIAAAP8AAoABAAAA/4AAAP+A/4AAgAAAAIAAAP8AA4AAAP8AAAAAgAAAAIAAAP+AAAD/gAAA/4AAAP+AAAD/gAAA/4AAAACAAAAAgAAAAIAAAACAAAAAgAAAAAAAAP+AAAD/gAAAAAAAAP8AAAAAgAAAAAAAAP+AAAD/gAAAAAAAAwCAAIAEAAQAABcAHQAjAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAIAAAAAgAAA/4AAAACAAAAAgAAA/4AAAACAAAD9AAAA/4AAAACAAAD/gAAAAIAAgAAAAIAAAACAAAD/AAAAAQAAAP+AAAAEAAAA/4AAAP8AAAD/gAAAAIAAAP8AAAD/gAAA/4AAAACAAAABAAAAAIAAAAEAAAAAAP+AAAD/gAAAAQD+gP8AAAAAgAAAAIAAAAABAYACgAKABAAAAwAAAQEBAQGAAQAAAP8ABAAAAP6AAAAAAAABAQAAgAMABAAAEwAAAQEBAQEBAQEBAQEBAQEBAQEBAQECAAEAAAD/gAAA/4AAAACAAAAAgAAA/wAAAP+AAAD/gAAAAIAAAACABAAAAP+AAAD/gAAA/oAAAP+AAAD/gAAAAIAAAACAAAABgAAAAIAAAAAAAAEBAACAAwAEAAATAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQAAAACAAAAAgAAA/4AAAP+AAAD/AAAAAIAAAACAAAD/gAAA/4AEAAAA/4AAAP+AAAD+gAAA/4AAAP+AAAAAgAAAAIAAAAGAAAAAgAAAAAAABQCAAYADgAQAAAMABwATABcAGwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAIAAAP+AAYAAgAAA/4D/AAEAAAABAAAA/wAAAP8AAAD/AAAAAQD/gACAAAD/gAGAAIAAAP+ABAAAAP+AAAAAgAAA/4AAAAAAAAD/gAAA/4AAAP+AAAAAgAAAAIAAAP8AAAD/gAAAAIAAAP+AAAAAAAABAQAAgAOAAwAACwAAAQEBAQEBAQEBAQEBAgAAgAAAAQAAAP8AAAD/gAAA/wAAAAEAAwAAAP8AAAD/gAAA/wAAAAEAAAAAgAAAAAAAAQCAAAACAAGAAAcAAAEBAQEBAQEBAQABAAAA/4AAAP8AAAAAgAGAAAD/AAAA/4AAAACAAAAAAAABAIABgAOAAgAAAwAAAQEBAQCAAwAAAP0AAgAAAP+AAAAAAAABAQAAgAIAAYAAAwAAAQEBAQEAAQAAAP8AAYAAAP8AAAAAAAABAIAAgAQAA4AAFwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwABAAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/AAAAAIAAAACAAAAAgAAAAIAAAACAA4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAA/4AAAACAAAAAgAAAAIAAAACAAAAAgAAAAAAAAwCAAIADgAQAAAsAEQAXAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAIAAAAAgAAA/4AAAP4AAAD/gAAAAIAAgAAAAIAAAACAAAD/gAAA/4AAAAEAAAAEAAAA/4AAAP2AAAD/gAAAAIAAAAKAAAAAAP8AAAAAgAAAAID/AP+AAAD/AAAAAYAAAAABAIAAgAOABAAADQAAAQEBAQEBAQEBAQEBAQEBgAEAAAABAAAA/QAAAAEAAAD/AAAAAIAAAACABAAAAP0AAAD/gAAAAIAAAAGAAAAAgAAAAIAAAAABAIAAgAOABAAAGwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAgAAAACAAAD/gAAA/4AAAP+AAAABgAAA/QAAAACAAAAAgAAAAIAAAACAAAD/AAAA/wAAAACABAAAAP+AAAD/AAAA/4AAAP+AAAD/gAAA/4AAAACAAAAAgAAAAIAAAACAAAABAAAA/wAAAAEAAAAAAAABAIAAgAOABAAAGwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAgAAAACAAAD/gAAAAIAAAP+AAAD+AAAA/4AAAAEAAAABAAAA/wAAAAEAAAD/AAAA/wAAAACABAAAAP+AAAD/AAAA/4AAAP8AAAD/gAAAAIAAAACAAAD/gAAAAQAAAACAAAABAAAA/4AAAACAAAAAAAABAIAAgAOABAAAEQAAAQEBAQEBAQEBAQEBAQEBAQEBAYABAAAA/4AAAP+AAAABAAAAAQAAAP8AAAD+AAAAAIAAAACABAAAAP+AAAD/gAAA/wAAAAEAAAD9gAAAAQAAAAGAAAAAgAAAAAEAgACAA4AEAAATAAABAQEBAQEBAQEBAQEBAQEBAQEBAQCAAwAAAP4AAAABgAAAAIAAAP+AAAD+AAAA/4AAAAEAAAABAAAA/gAEAAAA/4AAAP8AAAD/gAAA/wAAAP+AAAAAgAAAAIAAAP+AAAABAAAAAAAAAgCAAIADgAQAABMAFwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQACAAAAAIAAAP8AAAD/AAAAAYAAAACAAAD/gAAA/gAAAP+AAAAAgACAAAABAAAABAAAAP+AAAD/gAAAAIAAAP8AAAD/gAAA/wAAAP+AAAAAgAAAAoAAAP6A/wAAAAEAAAEAgACAA4AEAAAPAAABAQEBAQEBAQEBAQEBAQEBAIADAAAA/4AAAP+AAAD/AAAAAIAAAACAAAD+gAAA/4AEAAAA/oAAAP+AAAD+gAAAAYAAAACAAAABAAAA/4AAAAAAAAMAgACAA4AEAAATABcAGwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAgAAAACAAAD/gAAAAIAAAP+AAAD+AAAA/4AAAACAAAD/gAAAAIAAgAAAAQAAAP8AAAABAAAABAAAAP+AAAD/AAAA/4AAAP8AAAD/gAAAAIAAAAEAAAAAgAAAAQAAAAAA/wAAAAEA/oD/AAAAAQAAAAACAIAAgAOABAAACwAPAAABAQEBAQEBAQEBAQEBAQEBAQACAAAAAIAAAP8AAAD+gAAA/4AAAACAAIAAAAEAAAAEAAAA/4AAAP0AAAABAAAAAIAAAAGAAAAAAP6AAAABgAACAQABAAIAA4AAAwAHAAABAQEBAQEBAQEAAQAAAP8AAAABAAAA/wADgAAA/wAAAP+AAAD/AAAAAAIAgACAAgADgAADAAsAAAEBAQEBAQEBAQEBAQEAAQAAAP8AAAABAAAA/4AAAP8AAAAAgAOAAAD/AAAA/4AAAP8AAAD/gAAAAIAAAAABAQAAgAOABAAAGwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQKAAQAAAP+AAAD/gAAA/4AAAACAAAAAgAAAAIAAAP8AAAD/gAAA/4AAAP+AAAAAgAAAAIAAAACABAAAAP+AAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAAAACAIABgAOAAwAAAwAHAAABAQEBAQEBAQCAAwAAAP0AAAADAAAA/QADAAAA/4AAAP+AAAD/gAAAAAEAgACAAwAEAAAbAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAIABAAAAAIAAAACAAAAAgAAA/4AAAP+AAAD/gAAA/wAAAACAAAAAgAAAAIAAAP+AAAD/gAAA/4AEAAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAA/4AAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAAAAAIAgACAA4AEAAATABcAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAgAAAACAAAD/gAAA/4AAAP8AAAAAgAAAAIAAAP8AAAD/AAAAAIAAgAEAAAD/AAQAAAD/gAAA/4AAAP+AAAD/gAAAAIAAAACAAAAAgAAA/4AAAACAAAD+AAAA/wAAAAACAIAAgAOABAAAEQAVAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQACAAAAAIAAAP6AAAAAgAAA/wAAAAGAAAD+AAAA/4AAAACAAgAAgAAA/4AEAAAA/4AAAP6AAAABAAAAAIAAAP2AAAD/gAAAAIAAAAKAAAD+AAAA/4AAAAAAAAIAgACAA4AEAAAPABMAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAYABAAAAAIAAAACAAAD/AAAA/wAAAP8AAAAAgAAAAIAAAAAAAQAAAAQAAAD/gAAA/4AAAP2AAAABAAAA/wAAAAKAAAAAgAAA/4D/AAAAAQAAAwCAAIADgAQAAAsADwATAAABAQEBAQEBAQEBAQEBAQEBAQEBAQCAAoAAAACAAAD/gAAAAIAAAP+AAAD9gAEAAAABAAAA/wAAAAEAAAAEAAAA/4AAAP8AAAD/gAAA/wAAAP+AAAADAP8AAAABAP6A/wAAAAEAAAAAAQCAAIADgAQAABMAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQACAAAAAIAAAP8AAAD/AAAAAQAAAAEAAAD/gAAA/gAAAP+AAAAAgAQAAAD/gAAA/4AAAACAAAD9gAAAAIAAAP+AAAD/gAAAAIAAAAKAAAAAAAACAIAAgAOABAAACwATAAABAQEBAQEBAQEBAQEBAQEBAQEBAQCAAgAAAACAAAAAgAAA/4AAAP+AAAD+AAEAAAAAgAAAAIAAAP+AAAAEAAAA/4AAAP+AAAD+gAAA/4AAAP+AAAADAP2AAAAAgAAAAYAAAACAAAEAgACAA4AEAAAXAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAIAAAAAgAAA/wAAAP8AAAABAAAA/wAAAAEAAAABAAAA/4AAAP4AAAD/gAAAAIAEAAAA/4AAAP+AAAAAgAAA/wAAAP+AAAD/AAAAAIAAAP+AAAD/gAAAAIAAAAKAAAAAAAABAIAAgAOABAAACQAAAQEBAQEBAQEBAQCAAwAAAP4AAAABAAAA/wAAAP8ABAAAAP+AAAD/AAAA/4AAAP6AAAAAAQCAAIADgAQAABUAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAIAAAAAgAAA/wAAAP8AAAABAAAA/4AAAAGAAAD/gAAA/gAAAP+AAAAAgAQAAAD/gAAA/4AAAACAAAD9gAAAAQAAAACAAAD+gAAA/4AAAACAAAACgAAAAAEAgACAA4AEAAALAAABAQEBAQEBAQEBAQEAgAEAAAABAAAAAQAAAP8AAAD/AAAA/wAEAAAA/gAAAAIAAAD8gAAAAQAAAP8AAAAAAAABAIAAgAOABAAACwAAAQEBAQEBAQEBAQEBAIADAAAA/wAAAAEAAAD9AAAAAQAAAP8ABAAAAP+AAAD9gAAA/4AAAACAAAACgAAAAAAAAQCAAIAEAAQAAA8AAAEBAQEBAQEBAQEBAQEBAQEBAAMAAAD/gAAA/4AAAP4AAAD/gAAAAQAAAAEAAAD+gAQAAAD/gAAA/YAAAP+AAAAAgAAAAQAAAP8AAAACgAAAAAAAAQCAAIADgAQAABsAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAgAEAAAAAgAAAAIAAAAEAAAD/gAAA/4AAAP+AAAAAgAAAAIAAAACAAAD/AAAA/4AAAP+AAAD/AAQAAAD/AAAAAIAAAACAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAAAIAAAACAAAD/AAAAAAAAAQCAAIADgAQAAAUAAAEBAQEBAQCAAQAAAAIAAAD9AAQAAAD9AAAA/4AAAAABAIAAgAQABAAAEwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEAgAEAAAAAgAAAAIAAAACAAAABAAAA/wAAAP+AAAD/gAAA/4AAAP8ABAAAAP+AAAD/gAAAAIAAAACAAAD8gAAAAgAAAP+AAAAAgAAA/gAAAAAAAAEAgACABAAEAAATAAABAQEBAQEBAQEBAQEBAQEBAQEBAQCAAQAAAACAAAAAgAAAAIAAAAEAAAD/AAAA/4AAAP+AAAD/gAAA/wAEAAAA/4AAAP+AAAD/gAAAAYAAAPyAAAABAAAAAIAAAACAAAD+AAAAAAAAAgCAAIADgAQAAAsADwAAAQEBAQEBAQEBAQEBAQEBAQEAAgAAAACAAAD/gAAA/gAAAP+AAAAAgACAAAABAAAABAAAAP+AAAD9gAAA/4AAAACAAAACgAAAAAD9gAAAAoAAAgCAAIADgAQAAAkADQAAAQEBAQEBAQEBAQEBAQEAgAKAAAAAgAAA/4AAAP6AAAD/AAEAAAABAAAABAAAAP+AAAD+gAAA/4AAAP8AAAADAP6AAAABgAAAAAIAgACABAAEAAAPABcAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAgAAAACAAAAAgAAA/4AAAP+AAAD+AAAA/4AAAACAAIAAAAEAAAD/gAAAAIAAAAQAAAD/gAAA/gAAAP8AAAAAgAAA/4AAAACAAAACgAAAAAD9gAAAAIAAAACAAAABgAACAIAAgAOABAAAEwAXAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAgAKAAAAAgAAA/4AAAP+AAAAAgAAAAIAAAP8AAAD/gAAA/4AAAP8AAQAAAAEAAAAEAAAA/4AAAP8AAAD/gAAA/4AAAP+AAAD/gAAAAIAAAACAAAD/AAAAAwD/AAAAAQAAAQCAAIADgAQAABsAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAIAAAAAgAAA/wAAAP8AAAABgAAAAIAAAP+AAAD+AAAA/4AAAAEAAAABAAAA/oAAAP+AAAAAgAQAAAD/gAAA/4AAAACAAAD/AAAA/4AAAP8AAAD/gAAAAIAAAACAAAD/gAAAAQAAAACAAAABAAAAAAAAAQCAAIADgAQAAAcAAAEBAQEBAQEBAIADAAAA/wAAAP8AAAD/AAQAAAD/gAAA/QAAAAMAAAAAAAABAIAAgAOABAAACwAAAQEBAQEBAQEBAQEBAIABAAAAAQAAAAEAAAD/gAAA/gAAAP+ABAAAAP0AAAADAAAA/QAAAP+AAAAAgAAAAAAAAQCAAIADgAQAAA8AAAEBAQEBAQEBAQEBAQEBAQEAgAEAAAABAAAAAQAAAP+AAAD/gAAA/wAAAP+AAAD/gAQAAAD+AAAAAgAAAP4AAAD/AAAA/4AAAACAAAABAAAAAAAAAQCAAIAEAAQAABMAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAIABAAAAAIAAAACAAAAAgAAAAQAAAP8AAAD/gAAA/4AAAP+AAAD/AAQAAAD+AAAAAIAAAP+AAAACAAAA/IAAAACAAAAAgAAA/4AAAP+AAAAAAAABAIAAgAOABAAAGwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCAAQAAAAEAAAABAAAA/4AAAP+AAAAAgAAAAIAAAP8AAAD/AAAA/wAAAACAAAAAgAAA/4AAAP+ABAAAAP8AAAABAAAA/wAAAP+AAAD/gAAA/4AAAP8AAAABAAAA/wAAAAEAAAAAgAAAAIAAAACAAAAAAAABAIAAgAOABAAADwAAAQEBAQEBAQEBAQEBAQEBAQCAAQAAAAEAAAABAAAA/4AAAP+AAAD/AAAA/4AAAP+ABAAAAP6AAAABgAAA/oAAAP+AAAD+gAAAAYAAAACAAAAAAAABAIAAgAOABAAAFwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAIADAAAA/4AAAP+AAAD/gAAA/4AAAAIAAAD9AAAAAIAAAACAAAAAgAAAAIAAAP4ABAAAAP8AAAD/gAAA/4AAAP+AAAD/gAAA/4AAAAEAAAAAgAAAAIAAAACAAAAAgAAAAAAAAQEAAIADAAQAAAcAAAEBAQEBAQEBAQACAAAA/wAAAAEAAAD+AAQAAAD/gAAA/YAAAP+AAAAAAAABAIAAgAQAA4AAFwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAIABAAAAAIAAAACAAAAAgAAAAIAAAACAAAD/AAAA/4AAAP+AAAD/gAAA/4AAAP+AA4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAA/4AAAACAAAAAgAAAAIAAAACAAAAAgAAAAAAAAQEAAIADAAQAAAcAAAEBAQEBAQEBAQACAAAA/gAAAAEAAAD/AAQAAAD8gAAAAIAAAAKAAAAAAAABAIACAAQABAAAFwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgAAgAAAAIAAAACAAAAAgAAA/wAAAP+AAAD/gAAA/4AAAP8AAAAAgAAAAIAAAACABAAAAP+AAAD/gAAA/4AAAP+AAAAAgAAAAIAAAP+AAAD/gAAAAIAAAACAAAAAgAAAAAAAAQCAAIADgAEAAAMAAAEBAQEAgAMAAAD9AAEAAAD/gAAAAAAAAQEAAoACgAQAAAkAAAEBAQEBAQEBAQEBAAEAAAAAgAAA/4AAAP+AAAD/gAQAAAD/gAAA/wAAAACAAAAAgAAAAAEAgACAA4ADAAAPAAABAQEBAQEBAQEBAQEBAQEBAQACgAAA/4AAAP+AAAD/AAAAAQAAAP6AAAD/gAAAAIADAAAA/YAAAACAAAABgAAA/oAAAP+AAAAAgAAAAYAAAAAAAAIAgACAA4AEAAAJAA0AAAEBAQEBAQEBAQEBAQEBAIABAAAAAYAAAACAAAD/gAAA/YABAAAAAQAAAAQAAAD/AAAA/4AAAP6AAAD/gAAAAgD+gAAAAYAAAAABAIAAgAOAAwAAEwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAIAAAAAgAAA/wAAAP8AAAABAAAAAQAAAP+AAAD+AAAA/4AAAACAAwAAAP+AAAD/gAAAAIAAAP6AAAAAgAAA/4AAAP+AAAAAgAAAAYAAAAAAAAIAgACAA4AEAAAJAA0AAAEBAQEBAQEBAQEBAQEBAoABAAAA/YAAAP+AAAAAgAAAAYD/AAAAAQAAAAQAAAD8gAAAAIAAAAGAAAAAgAAA/4D+gAAAAYAAAAACAIAAgAOAAwAADQARAAABAQEBAQEBAQEBAQEBAQEBAQEBAAIAAAAAgAAA/gAAAAGAAAD+AAAA/4AAAACAAIAAAAEAAAADAAAA/4AAAP8AAAD/gAAA/4AAAACAAAABgAAAAAD/gAAAAIAAAAABAQAAgAOAA4AACwAAAQEBAQEBAQEBAQEBAYACAAAA/oAAAAEAAAD/AAAA/wAAAACAA4AAAP+AAAD/AAAA/4AAAP8AAAACgAAAAAAAAgCAAIADgAOAAA8AEwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAIAAAAAgAAA/4AAAP4AAAABgAAA/oAAAP+AAAAAgACAAAABAAAAA4AAAP+AAAD+AAAA/4AAAACAAAAAgAAAAIAAAAEAAAAAAP8AAAABAAABAIAAgAOABAAACwAAAQEBAQEBAQEBAQEBAIABAAAAAYAAAACAAAD/AAAA/wAAAP8ABAAAAP8AAAD/gAAA/gAAAAIAAAD+AAAAAAAAAgGAAIACgAQAAAMABwAAAQEBAQEBAQEBgAEAAAD/AAAAAQAAAP8ABAAAAP+AAAD/gAAA/YAAAAACAIAAgAOABAAAAwAPAAABAQEBAQEBAQEBAQEBAQEBAoABAAAA/wAAAAEAAAD/gAAA/gAAAP+AAAABAAAAAQAEAAAA/4AAAP+AAAD+AAAA/4AAAACAAAABAAAA/wAAAAABAIAAgAOAA4AAEwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEAgAEAAAAAgAAAAQAAAP+AAAAAgAAAAIAAAP8AAAD/gAAA/4AAAP8AA4AAAP8AAAAAgAAA/4AAAP8AAAD/gAAA/4AAAACAAAAAgAAA/wAAAAAAAAEBgACAAwAEAAAHAAABAQEBAQEBAQGAAQAAAACAAAD/AAAA/4AEAAAA/QAAAP+AAAAAgAAAAAAAAQCAAIAEAAMAABMAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAAAAIAAAAEAAAAAgAAA/wAAAP+AAAD/gAAA/4AAAP8AAAAAgAMAAAD/gAAAAIAAAP+AAAD+AAAAAYAAAP+AAAAAgAAA/oAAAAIAAAAAAAABAIAAgAOAAwAADwAAAQEBAQEBAQEBAQEBAQEBAQCAAQAAAACAAAABAAAAAIAAAP8AAAD/gAAA/4AAAP8AAwAAAP+AAAAAgAAA/4AAAP4AAAABgAAA/4AAAP8AAAAAAAACAIAAgAOAAwAACwAPAAABAQEBAQEBAQEBAQEBAQEBAQACAAAAAIAAAP+AAAD+AAAA/4AAAACAAIAAAAEAAAADAAAA/4AAAP6AAAD/gAAAAIAAAAGAAAAAAP6AAAABgAACAIAAgAOAAwAACQANAAABAQEBAQEBAQEBAQEBAQCAAoAAAACAAAD/gAAA/oAAAP8AAQAAAAEAAAADAAAA/4AAAP+AAAD/gAAA/wAAAAIA/4AAAACAAAAAAgCAAIAEAAMAAA0AEQAAAQEBAQEBAQEBAQEBAQEBAQEBAQACgAAAAIAAAP+AAAD/AAAA/oAAAP+AAAAAgACAAAABAAAAAwAAAP6AAAD/gAAA/4AAAAEAAAAAgAAAAIAAAAAA/4AAAACAAAAAAQEAAIADgAMAAAkAAAEBAQEBAQEBAQEBAAIAAAAAgAAA/wAAAP+AAAD/AAMAAAD/gAAA/wAAAAEAAAD+AAAAAAEAgACABAADAAATAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEAAoAAAP6AAAABgAAAAIAAAP+AAAD9AAAAAgAAAP6AAAD/gAAAAIADAAAA/4AAAP+AAAD/gAAA/4AAAP+AAAAAgAAAAIAAAACAAAAAgAAAAAAAAQCAAIADgAOAABMAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAAAAQAAAP8AAAAAgAAAAQAAAP+AAAD+gAAA/4AAAP+AAAAAgAOAAAD/gAAA/4AAAP6AAAAAgAAA/4AAAP+AAAAAgAAAAYAAAACAAAAAAAABAIAAgAOAAwAADwAAAQEBAQEBAQEBAQEBAQEBAQCAAQAAAACAAAAAgAAAAQAAAP+AAAD/gAAA/oAAAP+AAwAAAP4AAAAAgAAAAYAAAP2AAAAAgAAA/4AAAACAAAAAAAABAIAAgAOAAwAADwAAAQEBAQEBAQEBAQEBAQEBAQCAAQAAAAEAAAABAAAA/4AAAP+AAAD/AAAA/4AAAP+AAwAAAP6AAAABgAAA/oAAAP+AAAD/gAAAAIAAAACAAAAAAAABAIAAgAQAAwAAEwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEAgAEAAAAAgAAAAIAAAACAAAABAAAA/4AAAP8AAAD/gAAA/wAAAP+AAwAAAP6AAAAAgAAA/4AAAAGAAAD+AAAA/4AAAACAAAD/gAAAAIAAAAAAAAEAgACAA4ADAAAbAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAIABAAAAAQAAAAEAAAD/gAAA/4AAAACAAAAAgAAA/wAAAP8AAAD/AAAAAIAAAACAAAD/gAAA/4ADAAAA/4AAAACAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAACAAAD/gAAAAIAAAACAAAAAgAAAAIAAAAAAAAEAgACAA4ADAAAPAAABAQEBAQEBAQEBAQEBAQEBAIABAAAAAQAAAAEAAAD/gAAA/gAAAAGAAAD+gAAA/4ADAAAA/wAAAAEAAAD+AAAA/4AAAACAAAAAgAAAAIAAAAAAAAEAgACAA4ADAAATAAABAQEBAQEBAQEBAQEBAQEBAQEBAQCAAwAAAP+AAAD/gAAA/4AAAAGAAAD9AAAAAIAAAACAAAAAgAAA/oADAAAA/4AAAP+AAAD/gAAA/4AAAP+AAAAAgAAAAIAAAACAAAAAgAAAAAAAAQCAAIADAAQAABMAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAYABgAAA/wAAAP+AAAAAgAAAAQAAAP6AAAD/gAAA/4AAAACAAAAAgAQAAAD/gAAA/wAAAP+AAAD/AAAA/4AAAACAAAABAAAAAIAAAAEAAAAAAAABAYAAgAKABAAAAwAAAQEBAQGAAQAAAP8ABAAAAPyAAAAAAAABAQAAgAOABAAAEwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAGAAAAAgAAAAIAAAP+AAAD/gAAA/oAAAAEAAAAAgAAA/4AAAP8ABAAAAP+AAAD/AAAA/4AAAP8AAAD/gAAAAIAAAAEAAAAAgAAAAQAAAAAAAAEAgAGAA4ADAAAPAAABAQEBAQEBAQEBAQEBAQEBAQABAAAAAQAAAACAAAD/gAAA/wAAAP8AAAD/gAAAAIADAAAA/4AAAACAAAD/AAAA/4AAAACAAAD/gAAAAQAAAAAAAAEAAAAABAAEAAATAAABAQEBAQEBAQEBAQEBAQEBAQEBAQAAAYAAAAEAAAAAgAAAAIAAAACAAAD/AAAA/4AAAP+AAAD/AAAA/wAEAAAA/4AAAP+AAAD/gAAA/wAAAP6AAAABAAAAAQAAAACAAAAAgAAAAAAAAQIAAAAEAAQAAAMAAAEBAQECAAIAAAD+AAQAAAD8AAAAAAAAAgCAAIADgAQAABcAGwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQGAAYAAAP8AAAABAAAA/4AAAP+AAAABgAAA/QAAAACAAAAAgAAA/wAAAACAAAAAgAGAAIAAAP+ABAAAAP+AAAD/AAAA/4AAAP+AAAD/gAAA/4AAAACAAAAAgAAAAIAAAACAAAABAAAAAAAAAP+AAAAAAQCAAIADgAQAABsAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAgAEAAAABAAAAAQAAAP+AAAAAgAAA/wAAAAEAAAD/AAAA/wAAAP8AAAABAAAA/wAAAACAAAD/gAQAAAD+gAAAAYAAAP8AAAD/gAAA/4AAAP+AAAD/gAAA/4AAAACAAAAAgAAAAIAAAACAAAAAgAAAAAAABACAAIAEAAQAABcAGwAfACMAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAoAAAP4AAAABgAAAAIAAAACAAAD/gAAA/YAAAAIAAAD+gAAA/4AAAP+AAAAAgAEAAAAAgAAAAQAAgAAA/4D9AACAAAD/gAQAAAD/gAAA/4AAAP+AAAD/gAAA/wAAAP+AAAAAgAAAAIAAAACAAAAAgAAAAQAAAP8A/4AAAACAAQAAAP+AAAD+gAAA/4AAAAAEAIAAgAQAA4AAAwAHAAsADwAAAQEBAQEBAQEBAQEBAQEBAQCAAIAAAP+AAQAAgAAA/4ABAACAAAD/gAEAAIAAAP+AA4AAAP0AAAADAAAA/QAAAAMAAAD9AAAAAwAAAP0AAAAAAQIAAAAEAAQAAAkAAAEBAQEBAQEBAQEDgACAAAD+AAAAAIAAAACAAAAAgAQAAAD8AAAAAQAAAAEAAAABAAAAAAgAAAAABAAEAAADAAcACwAPABMAFwAbAB8AAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAABAAAA/wACAAEAAAD/AP8AAQAAAP8AAgABAAAA/wD9AAEAAAD/AAIAAQAAAP8A/wABAAAA/wACAAEAAAD/AAQAAAD/AAAAAQAAAP8AAAAAAAAA/wAAAAEAAAD/AAAAAAAAAP8AAAABAAAA/wAAAAAAAAD/AAAAAQAAAP8AAAAAAQIAAAADAAQAAAMAAAEBAQECAAEAAAD/AAQAAAD8AAAAAAAAAgGAAIACgAQAAAMABwAAAQEBAQEBAQEBgAEAAAD/AAAAAQAAAP8ABAAAAP6AAAD/gAAA/oAAAAABAgAAAAQAAgAAAwAAAQEBAQIAAgAAAP4AAgAAAP4AAAAAAAAEAIAAAAQABAAAAwAHAAsADwAAAQEBAQEBAQEBAQEBAQEBAQCAAIAAAP+AAQAAgAAA/4ABAACAAAD/gAEAAIAAAP+ABAAAAPwAAAAEAAAA/AAAAAQAAAD8AAAABAAAAPwAAAAAAQCAAIADgAOAABMAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAoABAAAA/oAAAP+AAAD/gAAA/4AAAACAAAAAgAAAAIAAAAEAAAD/gAOAAAD+AAAA/wAAAACAAAAAgAAAAIAAAACAAAAAgAAA/wAAAAEAAAAAAAABAAAAAAQABAAACwAAAQEBAQEBAQEBAQEBAAAEAAAA/gAAAP+AAAD/gAAA/4AAAP+ABAAAAPwAAAAAgAAAAIAAAACAAAAAgAAAAAAAAQCAAIAEAAOAABsAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAgACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAOAAAD/gAAAAIAAAP8AAAABAAAA/oAAAAGAAAD9AAAAAIAAAP+AAAABAAAA/wAAAAGAAAD+gAAAAAAAAQAAAAACAAQAAAkAAAEBAQEBAQEBAQEAAACAAAAAgAAAAIAAAACAAAD+AAQAAAD/AAAA/wAAAP8AAAD/AAAAAAEAAAAABAAEAAATAAABAQEBAQEBAQEBAQEBAQEBAQEBAQKAAYAAAP8AAAD/AAAA/4AAAP+AAAD/AAAAAIAAAACAAAAAgAAAAQAEAAAA/wAAAP+AAAD/gAAA/wAAAP8AAAABgAAAAQAAAACAAAAAgAAAAAAAAQAAAAAEAAIAAA8AAAEBAQEBAQEBAQEBAQEBAQEBgAEAAAAAgAAAAIAAAACAAAD8AAAAAIAAAACAAAAAgAIAAAD/gAAA/4AAAP+AAAD/gAAAAIAAAACAAAAAgAAAAAAAAgAAAAAEAAQAAAMABwAAAQEBAQEBAQEAAAIAAAD+AAIAAgAAAP4ABAAAAP4AAAAAAAAA/gAAAAAEAAACAAQABAAAAwAHAAsADwAAAQEBAQEBAQEBAQEBAQEBAQAAAQAAAP8AAgABAAAA/wD/AAEAAAD/AAIAAQAAAP8ABAAAAP8AAAABAAAA/wAAAAAAAAD/AAAAAQAAAP8AAAAABAIAAAAEAAQAAAMABwALAA8AAAEBAQEBAQEBAQEBAQEBAQECAAEAAAD/AAEAAQAAAP8A/wABAAAA/wABAAEAAAD/AAQAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAEDAAAABAAEAAADAAABAQEBAwABAAAA/wAEAAAA/AAAAAAAAAEAAAAABAAEAAAFAAABAQEBAQEAAAQAAAD9AAAA/wAEAAAA/wAAAP0AAAAAAQAAAAABAAQAAAMAAAEBAQEAAAEAAAD/AAQAAAD8AAAAAAAAAwCAAIADAAOAAAMABwALAAABAQEBAQEBAQEBAQEAgACAAAD/gAEAAIAAAP+AAQAAgAAA/4ADgAAA/QAAAAMAAAD9AAAAAwAAAP0AAAAAAAABAYABgAQABAAACwAAAQEBAQEBAQEBAQEBAYABAAAAAIAAAAEAAAD+gAAA/4AAAP+ABAAAAP8AAAD/gAAA/wAAAACAAAAAgAAAAAAAAQAAAYACgAQAAAsAAAEBAQEBAQEBAQEBAQGAAQAAAP+AAAD/gAAA/oAAAAEAAAAAgAQAAAD+gAAA/4AAAP+AAAABAAAAAIAAAAAAAAEAAAAABAAEAAAJAAABAQEBAQEBAQEBAwABAAAA/AAAAAEAAAABAAAAAQAEAAAA/AAAAAKAAAAAgAAAAIAAAAABAIAAgAMABAAACwAAAQEBAQEBAQEBAQEBAgABAAAA/4AAAP6AAAD/gAAAAIAAAAEABAAAAP0AAAD/gAAAAIAAAAEAAAAAgAAAAAAAAQAAAAAEAAQAAAUAAAEBAQEBAQAAAQAAAAMAAAD8AAQAAAD9AAAA/wAAAAACAIAAgAMAAoAACwAPAAABAQEBAQEBAQEBAQEBAQEBAQABgAAAAIAAAP+AAAD+gAAAAQAAAP8A/4AAgAAA/4ACgAAA/4AAAP8AAAD/gAAAAIAAAAEAAAAAAAAA/wAAAAACAIAAgAMABAAACwAPAAABAQEBAQEBAQEBAQEBAQEBAgABAAAA/4AAAP6AAAABAAAA/wAAAAEA/oAAgAAA/4AEAAAA/QAAAP+AAAAAgAAAAQAAAACAAAD/gAAA/wAAAAABAIAAgAQABAAADQAAAQEBAQEBAQEBAQEBAQECAAIAAAD/AAAA/4AAAP6AAAD/gAAAAIAAAAEABAAAAP+AAAD9gAAA/4AAAACAAAABAAAAAIAAAAACAAAAAAQABAAAAwAHAAABAQEBAQEBAQAABAAAAPwAAQAAAAIAAAAEAAAA/AAAAAMA/gAAAAIAAAEAgACABAAEAAARAAABAQEBAQEBAQEBAQEBAQEBAQECAAIAAAD/AAAAAQAAAP8AAAD/gAAA/oAAAP+AAAAAgAAAAQAEAAAA/4AAAP+AAAD/gAAA/oAAAP+AAAAAgAAAAQAAAACAAAAAAQAAAAACgAKAAAsAAAEBAQEBAQEBAQEBAQAAAYAAAACAAAAAgAAA/wAAAP+AAAD/AAKAAAD/gAAA/4AAAP6AAAABAAAAAIAAAAAAAAEAAAAABAAEAAAFAAABAQEBAQEAAAQAAAD/AAAA/QAEAAAA/AAAAAMAAAAAAQCAAIAEAAQAABUAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAAIAAAD/AAAAAQAAAP8AAAABAAAA/wAAAP+AAAD+gAAA/4AAAACAAAABAAQAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAAAIAAAAEAAAAAgAAAAAEBgAAABAACgAALAAABAQEBAQEBAQEBAQECgAGAAAD/AAAA/4AAAP8AAAAAgAAAAIACgAAA/wAAAP+AAAD/AAAAAYAAAACAAAAAAAABAAAAAAQABAAAEQAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAPwABAAAAP+AAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAAAAEAAAAABAABAAADAAABAQEBAAAEAAAA/AABAAAA/wAAAAAAAAEAAAAABAAEAAARAAABAQEBAQEBAQEBAQEBAQEBAQEDgACAAAD8AAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAEAAAA/AAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAAQAAAgAEAAQAAAMAAAEBAQEAAAQAAAD8AAQAAAD+AAAAAAAAAgCAAIACAAOAAAMABwAAAQEBAQEBAQEAgACAAAD/gAEAAIAAAP+AA4AAAP0AAAADAAAA/QAAAAAEAIAAgAQABAAAAwAHAAsADwAAAQEBAQEBAQEBAQEBAQEBAQCAA4AAAPyAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAABAAAAPyAAAADAP+AAAAAgP8A/4AAAACA/wD/gAAAAIAAAQAAAAAEAAQAAAUAAAEBAQEBAQMAAQAAAPwAAAADAAQAAAD8AAAAAQAAAAACAIAAgAQABAAAAwAHAAABAQEBAQEBAQCAA4AAAPyAAYAAAACAAAAEAAAA/IAAAAIA/4AAAACAAAMAgACABAAEAAADAAcACwAAAQEBAQEBAQEBAQEBAIADgAAA/IAAgAAAAIAAAAGAAAAAgAAABAAAAPyAAAADAP+AAAAAgP4A/4AAAACAAAAABAAAAIAEAAQAAAMABwALAA8AAAEBAQEBAQEBAQEBAQEBAQEAAAQAAAD8AAAABAAAAPwAAAAEAAAA/AAAAAQAAAD8AAQAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAAAAYAgACABAAEAAADAAcACwAPABMAFwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAIADgAAA/IAAgAAAAIAAAAGAAAAAgAAA/oAAAACAAAD+gAAAAIAAAAGAAAAAgAAABAAAAPyAAAADAP+AAAAAgAAA/4AAAACA/wD/gAAAAID/AP+AAAAAgAAA/4AAAACAAAEAgACAAQADgAADAAABAQEBAIAAgAAA/4ADgAAA/QAAAAAAAAUAgACABAAEAAADAAcACwAPABMAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAIADgAAA/IAAgAAAAIAAAAGAAAAAgAAA/YAAAACAAAABgAAAAIAAAAQAAAD8gAAAAwD/gAAAAIAAAP+AAAAAgP4A/4AAAACAAAD/gAAAAIAAAAABAAADAAQABAAAAwAAAQEBAQAABAAAAPwABAAAAP8AAAAAAAAHAIAAgAQABAAAAwAHAAsADwATABcAGwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCAA4AAAPyAAIAAAACAAAABgAAAAIAAAP2AAAAAgAAAAYAAAACAAAD9gAAAAIAAAAGAAAAAgAAABAAAAPyAAAADAP+AAAAAgAAA/4AAAACA/wD/gAAAAIAAAP+AAAAAgP8A/4AAAACAAAD/gAAAAIAAAAAEAAAAAAQAAgAAAwAHAAsADwAAAQEBAQEBAQEBAQEBAQEBAQAAAQAAAP8AAgABAAAA/wD/AAEAAAD/AAIAAQAAAP8AAgAAAP8AAAABAAAA/wAAAAAAAAD/AAAAAQAAAP8AAAAAAQAAAAAEAAQAAAkAAAEBAQEBAQEBAQEAAAEAAAABAAAAAQAAAAEAAAD8AAQAAAD/gAAA/4AAAP+AAAD9gAAAAAEBAAAAAgAEAAADAAABAQEBAQABAAAA/wAEAAAA/AAAAAAAAAEAAAAABAAEAAALAAABAQEBAQEBAQEBAQECgAGAAAD8AAAAAIAAAACAAAAAgAAAAQAEAAAA/AAAAAGAAAABAAAAAIAAAACAAAAAAAABAAABAAQAAgAAAwAAAQEBAQAABAAAAPwAAgAAAP8AAAAAAAABAAAAAAQABAAACwAAAQEBAQEBAQEBAQEBAgACAAAA/AAAAACAAAAAgAAAAIAAAACABAAAAPwAAAACAAAAAIAAAACAAAAAgAAAAAAAAQAAAAAEAAIAAAkAAAEBAQEBAQEBAQEDAAEAAAD8AAAAAQAAAAEAAAABAAIAAAD+AAAAAIAAAACAAAAAgAAAAAEAAAAABAAEAAALAAABAQEBAQEBAQEBAQEAAAIAAAAAgAAAAIAAAACAAAAAgAAA/AAEAAAA/4AAAP+AAAD/gAAA/4AAAP4AAAAAAAADAAAAAAQABAAAGwAnADMAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAEAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAD/AAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAIAAYAAAACAAAD/gAAA/4AAAP+AAAD/gP4AAIAAAACAAAAAgAAAAIAAAP6AAAD/gAQAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/AAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAQAAAP+AAAD+gAAAAIAAAACAAAAAgAAA/oAAAP+AAAD/gAAA/4AAAP+AAAAAgAAAAAAAAQAAAAAEAAIAAAkAAAEBAQEBAQEBAQEAAAEAAAABAAAAAQAAAAEAAAD8AAIAAAD/gAAA/4AAAP+AAAD/gAAAAAEAAAAABAAEAAALAAABAQEBAQEBAQEBAQEAAAGAAAABAAAAAIAAAACAAAAAgAAA/AAEAAAA/4AAAP+AAAD/gAAA/wAAAP6AAAAAAAAEAAAAgAQABAAAAwAHAAsADwAAAQEBAQEBAQEBAQEBAQEBAQCAAYAAAP6AAgABgAAA/oD9gAGAAAD+gAIAAYAAAP6ABAAAAP6AAAABgAAA/oAAAP+AAAD+gAAAAYAAAP6AAAAAAQIAAgAEAAQAAAMAAAEBAQECAAIAAAD+AAQAAAD+AAAAAAAABACAAIAEAAQAAAMABwAjACcAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAAD/AAGAAQAAAP8A/gAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAA/4ABgACAAAD/gAQAAAD/gAAAAIAAAP+AAAAAAAAA/wAAAP+AAAD/gAAAAIAAAACAAAABAAAA/oAAAP+AAAD/gAAA/4AAAACAAAAAgAAAAIAAAAGAAAD/gAAAAAQAAAAABAAEAAADAAcACwAPAAABAQEBAQEBAQEBAQEBAQEBAAAAgAAA/4ADgACAAAD/gPyAAIAAAP+AA4AAgAAA/4AEAAAA/4AAAACAAAD/gAAA/QAAAP+AAAAAgAAA/4AAAAABAAAAAAIAAgAAAwAAAQEBAQAAAgAAAP4AAgAAAP4AAAAAAAAEAAAAAAIABAAAAwAHAAsADwAAAQEBAQEBAQEBAQEBAQEBAQAAAQAAAP8AAQABAAAA/wD/AAEAAAD/AAEAAQAAAP8ABAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAQCAAQADgAOAABMAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAYABAAAA/4AAAAGAAAD+gAAAAIAAAP8AAAD/gAAA/4AAAACAAAAAgAOAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAACAAAAAgAAAAIAAAACAAAAAAAABAQABAAOABAAAEwAAAQEBAQEBAQEBAQEBAQEBAQEBAQECAACAAAAAgAAAAIAAAP+AAAD/gAAA/4AAAP+AAAD/gAAAAIAAAACABAAAAP+AAAD/gAAA/wAAAACAAAD+gAAAAYAAAP+AAAABAAAAAIAAAAAAAAEBAAEABAADgAATAAABAQEBAQEBAQEBAQEBAQEBAQEBAQIAAQAAAACAAAAAgAAA/4AAAP+AAAD/AAAAAIAAAP6AAAABgAAA/4ADgAAA/4AAAP+AAAD/gAAA/4AAAP+AAAAAgAAAAIAAAACAAAAAgAAAAAAAAQEAAIADgAOAABMAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAgAAgAAAAIAAAACAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAACAAAAAgAOAAAD+gAAAAIAAAP8AAAD/gAAA/4AAAACAAAAAgAAAAQAAAP+AAAAAAAABAQAAgAOABAAADwAAAQEBAQEBAQEBAQEBAQEBAQIAAIAAAACAAAAAgAAA/4AAAP6AAAD/gAAAAIAAAACABAAAAP8AAAD/AAAA/wAAAP+AAAAAgAAAAQAAAAEAAAAAAAACAIAAgAOAA4AAAwAJAAABAQEBAQEBAQEBAIADAAAA/QAAgAAAAgAAAP8AAAADgAAA/QAAAAKA/gAAAAEAAAABAAAAAAIAgACABAAEAAAbACcAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAACAAAAAgAAAAIAAAACAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAAAIAAAACAAAAAgAAAAAD/gAAAAIAAAACAAAAAgAAA/4AAAAQAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAA/4D/gAAA/4AAAP+AAAAAgAAAAIAAAACAAAEAAAIABAADAAADAAABAQEBAAAEAAAA/AADAAAA/wAAAAAAAAEAAAAABAAEAAALAAABAQEBAQEBAQEBAQEAAAQAAAD/gAAA/4AAAP+AAAD/gAAA/gAEAAAA/gAAAP+AAAD/gAAA/4AAAP+AAAAAAAABAAACAAIABAAAAwAAAQEBAQAAAgAAAP4ABAAAAP4AAAAAAAACAQAAgAOAA4AAFwAbAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAYABgAAAAIAAAP8AAAAAgAAAAIAAAP8AAAD/gAAA/wAAAACAAAAAgAAA/wAAAACAAIAAAACAAAADgAAA/wAAAP+AAAD/gAAA/4AAAP+AAAAAgAAA/4AAAACAAAAAgAAAAIAAAACAAAAAgP+AAAAAgAADAAAAAAQABAAACwAnADMAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAgAGAAAD/gAAA/4AAAP+AAAD/gAAAAIACgAEAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/AAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgACAAIAAAP+AAAD+gAAAAIAAAACAAAAAgAQAAAD/gAAA/4AAAP+AAAD/gAAAAYAAAACAAAD/AAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAAAQAAAACAAAAAgAAAAIAAAACAAAAAgAAA/oAAAP6AAAD/gAAAAIAAAACAAAAAgAAAAAAAAgCAAIADgAQAAA8AHwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAAABAAAAAIAAAP+AAAD/AAAA/wAAAP+AAAAAgAAAAQAAAAEAAAAAgAAA/4AAAP8AAAD/AAAA/4AAAACABAAAAP+AAAAAgAAA/wAAAP+AAAAAgAAA/4AAAAEAAAD+gAAA/4AAAACAAAD/AAAA/4AAAACAAAD/gAAAAQAAAAABAAAAAAQAA4AACwAAAQEBAQEBAQEBAQEBAQACAAAAAIAAAACAAAD8AAAAAIAAAACAA4AAAP+AAAD/gAAA/YAAAAKAAAAAgAAAAAAAAQAAAAACAAQAAA8AAAEBAQEBAQEBAQEBAQEBAQEAAACAAAAAgAAAAIAAAACAAAD/gAAA/4AAAP+AAAD/gAQAAAD/gAAA/4AAAP+AAAD/AAAA/4AAAP+AAAD/gAAAAAAAAQIAAAAEAAQAAA8AAAEBAQEBAQEBAQEBAQEBAQEDgACAAAD/gAAA/4AAAP+AAAD/gAAAAIAAAACAAAAAgAQAAAD8AAAAAIAAAACAAAAAgAAAAQAAAACAAAAAgAAAAAAAAQCAAIAEAAQAABcAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIAAIAAAACAAAAAgAAAAIAAAP+AAAD/AAAA/4AAAP8AAAD/gAAAAIAAAACAAAAAgAQAAAD/gAAA/4AAAP+AAAD/gAAA/oAAAAEAAAD/AAAAAYAAAACAAAAAgAAAAIAAAAAAACAAAAAABAAEAAADAAcACwAPABMAFwAbAB8AIwAnACsALwAzADcAOwA/AEMARwBLAE8AUwBXAFsAXwBjAGcAawBvAHMAdwB7AH8AAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAgAAA/4ABAACAAAD/gAEAAIAAAP+AAQAAgAAA/4D9gACAAAD/gAEAAIAAAP+AAQAAgAAA/4ABAACAAAD/gPyAAIAAAP+AAQAAgAAA/4ABAACAAAD/gAEAAIAAAP+A/YAAgAAA/4ABAACAAAD/gAEAAIAAAP+AAQAAgAAA/4D8gACAAAD/gAEAAIAAAP+AAQAAgAAA/4ABAACAAAD/gP2AAIAAAP+AAQAAgAAA/4ABAACAAAD/gAEAAIAAAP+A/IAAgAAA/4ABAACAAAD/gAEAAIAAAP+AAQAAgAAA/4D9gACAAAD/gAEAAIAAAP+AAQAAgAAA/4ABAACAAAD/gAQAAAD/gAAAAIAAAP+AAAAAgAAA/4AAAACAAAD/gAAAAAAAAP+AAAAAgAAA/4AAAACAAAD/gAAAAIAAAP+AAAAAAAAA/4AAAACAAAD/gAAAAIAAAP+AAAAAgAAA/4AAAAAAAAD/gAAAAIAAAP+AAAAAgAAA/4AAAACAAAD/gAAAAAAAAP+AAAAAgAAA/4AAAACAAAD/gAAAAIAAAP+AAAAAAAAA/4AAAACAAAD/gAAAAIAAAP+AAAAAgAAA/4AAAAAAAAD/gAAAAIAAAP+AAAAAgAAA/4AAAACAAAD/gAAAAAAAAP+AAAAAgAAA/4AAAACAAAD/gAAAAIAAAP+AAAAAAQAAAAAEAAQAAAsAAAEBAQEBAQEBAQEBAQAABAAAAP6AAAD/AAAA/4AAAP+AAAD/gAQAAAD8AAAAAIAAAACAAAAAgAAAAQAAAAAAAAEAAAAABAAEAAALAAABAQEBAQEBAQEBAQEAAAQAAAD/gAAA/4AAAP+AAAD/AAAA/oAEAAAA/oAAAP8AAAD/gAAA/4AAAP+AAAAAAAABAAABgAKABAAADwAAAQEBAQEBAQEBAQEBAQEBAQAAAQAAAACAAAAAgAAAAIAAAP8AAAD/gAAA/4AAAP+ABAAAAP+AAAD/gAAA/4AAAP8AAAAAgAAAAIAAAACAAAAAAAABAAAAAAKABAAADwAAAQEBAQEBAQEBAQEBAQEBAQAAAQAAAACAAAAAgAAAAIAAAP8AAAD/gAAA/4AAAP+ABAAAAP+AAAD/gAAA/4AAAP2AAAACAAAAAIAAAACAAAAAAAABAYAAAAQAAoAABQAAAQEBAQEBAYACgAAA/oAAAP8AAoAAAP8AAAD+gAAAAAEAAAAABAAEAAAJAAABAQEBAQEBAQEBAAACgAAAAIAAAACAAAAAgAAA/AAEAAAA/wAAAP8AAAD/AAAA/wAAAAACAAAAAAQABAAAGwAfAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQGAAQAAAACAAAAAgAAAAIAAAP+AAAD/gAAA/4AAAP8AAAD/gAAA/4AAAP+AAAAAgAAAAIAAAACAAAAAAAEAAAAEAAAA/4AAAP+AAAD/gAAA/wAAAP+AAAD/gAAA/4AAAACAAAAAgAAAAIAAAAEAAAAAgAAAAIAAAP8A/wAAAAEAAAEBgAGABAAEAAAFAAABAQEBAQEBgAEAAAABgAAA/YAEAAAA/oAAAP8AAAAAAQAAAAACgAKAAA8AAAEBAQEBAQEBAQEBAQEBAQEBgAEAAAD/gAAA/4AAAP+AAAD/AAAAAIAAAACAAAAAgAKAAAD/AAAA/4AAAP+AAAD/gAAAAQAAAACAAAAAgAAAAAAAAQGAAAAEAAQAAA8AAAEBAQEBAQEBAQEBAQEBAQEDAAEAAAD/gAAA/4AAAP+AAAD/AAAAAIAAAACAAAAAgAQAAAD/AAAA/4AAAP+AAAD+AAAAAoAAAACAAAAAgAAAAAAAAQGAAAAEAAKAAA8AAAEBAQEBAQEBAQEBAQEBAQEBgAEAAAAAgAAAAIAAAACAAAD/AAAA/4AAAP+AAAD/gAKAAAD/gAAA/4AAAP+AAAD/AAAAAIAAAACAAAAAgAAAAAAAAQGAAYAEAAQAAA8AAAEBAQEBAQEBAQEBAQEBAQEDAAEAAAD/gAAA/4AAAP+AAAD/AAAAAIAAAACAAAAAgAQAAAD/AAAA/4AAAP+AAAD/gAAAAQAAAACAAAAAgAAAAAAAAQAAAAAEAAQAABsAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAEAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAD/AAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAQAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/AAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAAAAAQAAAAAEAAQAAB8AAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAABAAAAAIAAAAEAAAAAgAAAAQAAAP+AAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP8AAAAAgAAAAIAAAP+AAAD/gAQAAAD/gAAA/4AAAACAAAAAgAAA/wAAAP+AAAD/gAAA/4AAAP+AAAD/gAAA/4AAAAEAAAAAgAAAAQAAAACAAAAAAAABAAABgAQABAAADwAAAQEBAQEBAQEBAQEBAQEBAQAAAQAAAACAAAAAgAAAAgAAAP2AAAD/gAAA/4AAAP+ABAAAAP+AAAD/gAAA/4AAAP8AAAAAgAAAAIAAAACAAAAAAAABAAABgAQAAoAAAwAAAQEBAQAABAAAAPwAAoAAAP8AAAAAAAABAYAAAAKABAAAAwAAAQEBAQGAAQAAAP8ABAAAAPwAAAAAAAABAYAAAAQABAAAFwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwABAAAA/4AAAP+AAAAAgAAAAIAAAP8AAAD/gAAA/4AAAP+AAAAAgAAAAIAAAACABAAAAP8AAAD/gAAA/wAAAP+AAAD/AAAAAIAAAACAAAAAgAAAAQAAAACAAAAAgAAAAAAAAQAAAAAEAAKAAA8AAAEBAQEBAQEBAQEBAQEBAQEAAAKAAAAAgAAAAIAAAACAAAD/AAAA/4AAAP+AAAD+AAKAAAD/gAAA/4AAAP+AAAD/AAAAAIAAAACAAAAAgAAAAAAAAQAAAYAEAAQAAA8AAAEBAQEBAQEBAQEBAQEBAQEDAAEAAAD/gAAA/4AAAP+AAAD9gAAAAgAAAACAAAAAgAQAAAD/AAAA/4AAAP+AAAD/gAAAAQAAAACAAAAAgAAAAAAAAQAAAgAEAAQAAA8AAAEBAQEBAQEBAQEBAQEBAQEAAAQAAAD/gAAA/4AAAP+AAAD/AAAA/4AAAP+AAAD/gAQAAAD/gAAA/4AAAP+AAAD/gAAAAIAAAACAAAAAgAAAAAAAAQAAAYACgAKAAAMAAAEBAQEAAAKAAAD9gAKAAAD/AAAAAAAAAQGAAAACgAKAAAMAAAEBAQEBgAEAAAD/AAKAAAD9gAAAAAAAAQAAAYAEAAQAABcAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAQAAAACAAAABAAAAAIAAAAEAAAD/gAAA/4AAAP+AAAD/AAAA/4AAAP+AAAD/gAQAAAD/gAAA/4AAAACAAAAAgAAA/wAAAP+AAAD/gAAA/4AAAACAAAAAgAAAAIAAAAAAAAEAAAAABAAEAAAJAAABAQEBAQEBAQEBAYACgAAA/AAAAACAAAAAgAAAAIAEAAAA/AAAAAEAAAABAAAAAQAAAAABAAAAAAQABAAAEwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEDAAEAAAD/gAAA/4AAAP+AAAD/AAAA/oAAAAEAAAABAAAAAIAAAACABAAAAP6AAAD/AAAA/4AAAP+AAAD/gAAAAQAAAACAAAAAgAAAAQAAAAAAAAEAAAAABAAEAAATAAABAQEBAQEBAQEBAQEBAQEBAQEBAQAAAQAAAACAAAAAgAAAAQAAAAEAAAD+gAAA/wAAAP+AAAD/gAAA/4AEAAAA/wAAAP8AAAD/gAAA/4AAAP8AAAAAgAAAAIAAAACAAAABAAAAAAAAAQAAAAAEAAQAABsAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAAEAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/AAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAQAAAD/AAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAAAQAAAACAAAAAgAAAAIAAAACAAAAAgAAAAAAAAQAAAAACgAQAABcAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAQAAAACAAAAAgAAAAIAAAP+AAAD/gAAA/4AAAP8AAAAAgAAAAIAAAP+AAAD/gAQAAAD/gAAA/4AAAP+AAAD/AAAA/4AAAP+AAAD/gAAAAQAAAACAAAABAAAAAIAAAAAAAAEAAAAABAAEAAAfAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAQAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAP8AAAD/gAAA/wAAAP+AAAD/AAAAAIAAAACAAAD/gAAA/4AEAAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAA/wAAAACAAAAAgAAA/4AAAP+AAAABAAAAAIAAAAEAAAAAgAAAAAAAAQAAAAACgAQAAA8AAAEBAQEBAQEBAQEBAQEBAQEBgAEAAAD/gAAA/4AAAP+AAAD/AAAAAIAAAACAAAAAgAQAAAD9gAAA/4AAAP+AAAD/gAAAAQAAAACAAAAAgAAAAAAAAQGAAAAEAAQAAA8AAAEBAQEBAQEBAQEBAQEBAQEBgAEAAAAAgAAAAIAAAACAAAD/AAAA/4AAAP+AAAD/gAQAAAD+AAAA/4AAAP+AAAD/AAAAAIAAAACAAAAAgAAAAAAAAQAAAAAEAAKAAA8AAAEBAQEBAQEBAQEBAQEBAQEBgAKAAAD+AAAA/4AAAP+AAAD/AAAAAIAAAACAAAAAgAKAAAD/AAAA/4AAAP+AAAD/gAAAAQAAAACAAAAAgAAAAAAAAQGAAYACgAQAAAMAAAEBAQEBgAEAAAD/AAQAAAD9gAAAAAAAAQGAAYAEAAKAAAMAAAEBAQEBgAKAAAD9gAKAAAD/AAAAAAAAAQAAAAAEAAQAAB8AAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwABAAAA/4AAAP+AAAAAgAAAAIAAAP8AAAD/gAAA/wAAAP+AAAD/AAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAQAAAD/AAAA/4AAAP8AAAD/gAAA/wAAAACAAAAAgAAA/4AAAP+AAAABAAAAAIAAAACAAAAAgAAAAIAAAACAAAAAAAABAAAAAAQABAAAIwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAABAAAAAIAAAAEAAAAAgAAAAQAAAP+AAAD/gAAAAIAAAACAAAD/AAAA/4AAAP8AAAD/gAAA/wAAAACAAAAAgAAA/4AAAP+ABAAAAP+AAAD/gAAAAIAAAACAAAD/AAAA/4AAAP8AAAD/gAAA/wAAAACAAAAAgAAA/4AAAP+AAAABAAAAAIAAAAEAAAAAgAAAAAAAAQGAAYACgAKAAAMAAAEBAQEBgAEAAAD/AAKAAAD/AAAAAAAAAQAAAAAEAAKAABcAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQGAAQAAAACAAAAAgAAAAIAAAP8AAAD/gAAA/wAAAP+AAAD/AAAAAIAAAACAAAAAgAKAAAD/gAAA/4AAAP+AAAD/AAAAAIAAAACAAAD/gAAA/4AAAAEAAAAAgAAAAIAAAAAAAAEAAAGAAoAEAAAFAAABAQEBAQEBgAEAAAD9gAAAAYAEAAAA/YAAAAEAAAAAAQAAAAACgAKAAAUAAAEBAQEBAQAAAoAAAP8AAAD+gAKAAAD9gAAAAYAAAAABAAAAAAQABAAAHwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAEAAAAAgAAAAQAAAACAAAABAAAA/4AAAP+AAAAAgAAAAIAAAP8AAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+ABAAAAP+AAAD/gAAAAIAAAACAAAD/AAAA/4AAAP8AAAD/gAAA/wAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAAAAAEAAAAABAAEAAALAAABAQEBAQEBAQEBAQEBgAEAAAABgAAA/oAAAP8AAAD+gAAAAYAEAAAA/oAAAP8AAAD+gAAAAYAAAAEAAAAAAAABAAAAAAQAAoAABwAAAQEBAQEBAQEAAAQAAAD+gAAA/wAAAP6AAoAAAP8AAAD+gAAAAYAAAAAAAAEBgAAABAAEAAAHAAABAQEBAQEBAQGAAQAAAAGAAAD+gAAA/wAEAAAA/oAAAP8AAAD+gAAAAAAAAQAAAAACgAQAAAcAAAEBAQEBAQEBAYABAAAA/wAAAP6AAAABgAQAAAD8AAAAAYAAAAEAAAAAAAABAAABgAQABAAABwAAAQEBAQEBAQEBgAEAAAABgAAA/AAAAAGABAAAAP6AAAD/AAAAAQAAAAAAAAQBAAEAAwADAAADAAcACwAPAAABAQEBAQEBAQEBAQEBAQEBAYABAAAA/wD/gACAAAD/gAGAAIAAAP+A/wABAAAA/wADAAAA/4AAAAAAAAD/AAAAAQAAAP8AAAAAAAAA/4AAAAACAIAAgAOAA4AACwAPAAABAQEBAQEBAQEBAQEBAQEBAQACAAAAAIAAAP+AAAD+AAAA/4AAAACAAIAAAAEAAAADgAAA/4AAAP4AAAD/gAAAAIAAAAIAAAD/gP8AAAABAAACAAAAAAQABAAAEwAfAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAgAAAACAAAAAgAAA/4AAAP+AAAD+AAAA/4AAAP+AAAAAgAAAAIAAgAAA/4AAAACAAAABAAAAAIAAAP+AAAAEAAAA/4AAAP+AAAD+AAAA/4AAAP+AAAAAgAAAAIAAAAIAAAAAgAAA/4D/gAAA/wAAAP+AAAAAgAAAAQAAAACAABAAAAAABAAEAAADAAcACwAPABMAFwAbAB8AIwAnACsALwAzADcAOwA/AAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAYAAgAAA/4ACAACAAAD/gP2AAIAAAP+AAgAAgAAA/4D9gACAAAD/gAIAAIAAAP+A/YAAgAAA/4ACAACAAAD/gP+AAIAAAP+AAgAAgAAA/4D9gACAAAD/gAIAAIAAAP+A/YAAgAAA/4ACAACAAAD/gP2AAIAAAP+AAgAAgAAA/4AEAAAA/4AAAACAAAD/gAAAAAAAAP+AAAAAgAAA/4AAAAAAAAD/gAAAAIAAAP+AAAAAAAAA/4AAAACAAAD/gAAAAAAAAP+AAAAAgAAA/4AAAAAAAAD/gAAAAIAAAP+AAAAAAAAA/4AAAACAAAD/gAAAAAAAAP+AAAAAgAAA/4AAAAAQAAAAAAQABAAAAwAHAAsADwATABcAGwAfACMAJwArAC8AMwA3ADsAPwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAIAAAP+AAgAAgAAA/4D+gACAAAD/gAIAAIAAAP+A/oAAgAAA/4ACAACAAAD/gP6AAIAAAP+AAgAAgAAA/4D8gACAAAD/gAIAAIAAAP+A/oAAgAAA/4ACAACAAAD/gP6AAIAAAP+AAgAAgAAA/4D+gACAAAD/gAIAAIAAAP+ABAAAAP+AAAAAgAAA/4AAAAAAAAD/gAAAAIAAAP+AAAAAAAAA/4AAAACAAAD/gAAAAAAAAP+AAAAAgAAA/4AAAAAAAAD/gAAAAIAAAP+AAAAAAAAA/4AAAACAAAD/gAAAAAAAAP+AAAAAgAAA/4AAAAAAAAD/gAAAAIAAAP+AAAAAAwCAAIADgAQAABcAGwAfAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIAAIAAAAEAAAD/AAAAAIAAAP+AAAABAAAA/wAAAP+AAAD/AAAA/4AAAACAAAABAP+AAAAAgAAA/4AAAACAAAAEAAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAA/4AAAACAAAAAgAAAAYAAAACAAAD/gP+AAAAAgP8A/4AAAACAAAAAAQCAAIADgAOAAA8AAAEBAQEBAQEBAQEBAQEBAQEBAAIAAAAAgAAA/4AAAP+AAAD/AAAA/4AAAP+AAAAAgAOAAAD/gAAA/wAAAP+AAAD/AAAAAQAAAACAAAABAAAAAAAAAgCAAIADgAOAAAMACQAAAQEBAQEBAQEBAQCAAwAAAP0AAYAAAP8AAAACAAAAA4AAAP0AAAACgP8AAAD/AAAAAgAAAAABAIAAgAOAA4AAAwAAAQEBAQCAAwAAAP0AA4AAAP0AAAAAAAACAIAAgAOAA4AAAwALAAABAQEBAQEBAQEBAQEAgAMAAAD9AACAAAACAAAA/4AAAP8AAAADgAAA/QAAAAKA/gAAAAIAAAD/AAAAAQAAAQAAAAAEAAQAABMAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQACAAAAAIAAAACAAAD/gAAA/4AAAP4AAAD/gAAA/4AAAACAAAAAgAQAAAD/gAAA/4AAAP4AAAD/gAAA/4AAAACAAAAAgAAAAgAAAACAAAAAAAABAQABAAMAAwAACwAAAQEBAQEBAQEBAQEBAYABAAAAAIAAAP+AAAD/AAAA/4AAAACAAwAAAP+AAAD/AAAA/4AAAACAAAABAAAAAAAAAQCAAQAEAAQAABsAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAACAAAAAgAAAAQAAAP+AAAD/gAAAAIAAAP8AAAD/gAAA/wAAAACAAAD/gAAA/4AAAAEAAAAAgAQAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAAAgAAA/4AAAACAAAAAgAAAAIAAAACAAAAAgAAAAAAABgCAAIAEAAQAAAMABwALAA8AEwAXAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAgAOAAAD8gAEAAAAAgAAAAIAAAACAAAD+AAAAAIAAAAGAAAAAgAAA/gAAAAGAAAAEAAAA/IAAAAMA/wAAAAEAAAD/AAAAAQD+gP+AAAAAgAAA/4AAAACA/4D/gAAAAIAABgCAAIAEAAQAAAMABwALAA8AEwAXAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAgAOAAAD8gAEAAAAAgAAAAIAAAACAAAD+gAAAAYAAAP4AAAAAgAAAAYAAAACAAAAEAAAA/IAAAAMA/wAAAAEAAAD/AAAAAQD+gP+AAAAAgP+A/4AAAACAAAD/gAAAAIAABgCAAIAEAAQAABMAFwAbAB8AIwAnAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgAAgAAAAIAAAAEAAAD/AAAA/4AAAP+AAAD/gAAA/wAAAAEAAAAAgAAAAAAAgAAA/oAAgAAA/4ACAACAAAD/gP4AAIAAAP+AAgAAgAAA/4AEAAAA/wAAAP+AAAD/gAAA/4AAAP8AAAABAAAAAIAAAACAAAAAgAAA/4D/gAAAAIABAAAA/4AAAACAAAD/gAAA/oAAAP+AAAAAgAAA/4AAAAACAQAAgAOABAAAFwAbAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAYABgAAAAIAAAP+AAAD/gAAAAIAAAP+AAAD/gAAA/4AAAACAAAD/gAAAAQAAAP8A/4AAgAAA/4AEAAAA/4AAAP8AAAD/gAAA/4AAAP+AAAD/gAAAAIAAAACAAAAAgAAAAIAAAAEAAAAAAAAA/wAAAAACAIAAgAQABAAAFwAbAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAYACgAAA/4AAAP+AAAD/gAAAAIAAAP+AAAD+gAAAAQAAAP8AAAABAAAAAIAAAP8A/wAAgAAA/4AEAAAA/gAAAAEAAAD/gAAA/4AAAP8AAAD/gAAAAIAAAAEAAAAAgAAAAIAAAACAAAD+gAAA/wAAAAABAIAAgAQABAAAGwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIAAIAAAACAAAAAgAAAAIAAAP8AAAD/gAAAAIAAAP6AAAAAgAAA/4AAAP8AAAAAgAAAAIAAAACABAAAAP+AAAD/gAAA/4AAAP8AAAAAgAAA/wAAAP+AAAAAgAAAAQAAAP+AAAABAAAAAIAAAACAAAAAAAABAIAAgAQABAAAGwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQGAAYAAAP+AAAAAgAAAAQAAAP8AAAD/gAAAAIAAAP6AAAAAgAAA/4AAAP8AAAABAAAAAIAAAP+ABAAAAP8AAAD/gAAAAIAAAP6AAAAAgAAA/wAAAP+AAAAAgAAAAQAAAP+AAAABgAAA/4AAAACAAAAAAAABAIAAgAQABAAAFwAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAAAAIAAAAEAAAAAgAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAA/4AAAACABAAAAP+AAAAAgAAA/4AAAP6AAAD/gAAA/4AAAP+AAAAAgAAAAIAAAACAAAABgAAAAAAAAQCAAIAEAAQAABsAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAACAAAAAgAAAAIAAAACAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAAAIAAAACAAAAAgAQAAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAAAAAQEAAIADgAQAAAsAAAEBAQEBAQEBAQEBAQIAAYAAAP8AAAD/gAAA/wAAAACAAAAAgAQAAAD/AAAA/gAAAP+AAAABAAAAAIAAAAAAAAEAgACABAAEAAATAAABAQEBAQEBAQEBAQEBAQEBAQEBAQGAAoAAAP+AAAD/AAAAAIAAAACAAAD+gAAA/4AAAP8AAAAAgAAAAIAEAAAA/QAAAP+AAAABAAAAAIAAAAEAAAD+AAAA/4AAAAEAAAAAgAAAAAAAAAAYASYAAQAAAAAAAAAIAAAAAQAAAAAAAQAIAAgAAQAAAAAAAgAHABAAAQAAAAAAAwAIABcAAQAAAAAABAAQAB8AAQAAAAAABQALAC8AAQAAAAAABgAIADoAAQAAAAAACQAJAEIAAQAAAAAACgA6AEsAAQAAAAAADQARAIUAAQAAAAAADgAyAJYAAQAAAAAAEwAMAMgAAwABBAkAAAAQANQAAwABBAkAAQAQAOQAAwABBAkAAgAOAPQAAwABBAkAAwAQAQIAAwABBAkABAAgARIAAwABBAkABQAWATIAAwABBAkABgAQAUgAAwABBAkACQASAVgAAwABBAkACgB0AWoAAwABBAkADQAiAd4AAwABBAkADgBkAgAAAwABBAkAEwAYAmQoYykgMjAyMlVyc2FGb250UmVndWxhclVyc2FGb250VXJzYUZvbnQgUmVndWxhclZlcnNpb24gMS4wVXJzYUZvbnRVcnNhRnJhbmtBbiBvcGVuIGxpY2VuY2UgZ2VuZXJhbCBwdXJwb3NlIHRleHRtb2RlIGZvbnQgYnkgVXJzYUZyYW5rQ0MwIDEuMCBVbml2ZXJzYWxodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wL0hlbGxvIFdvcmxkIQAoAGMAKQAgADIAMAAyADIAVQByAHMAYQBGAG8AbgB0AFIAZQBnAHUAbABhAHIAVQByAHMAYQBGAG8AbgB0AFUAcgBzAGEARgBvAG4AdAAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAwAFUAcgBzAGEARgBvAG4AdABVAHIAcwBhAEYAcgBhAG4AawBBAG4AIABvAHAAZQBuACAAbABpAGMAZQBuAGMAZQAgAGcAZQBuAGUAcgBhAGwAIABwAHUAcgBwAG8AcwBlACAAdABlAHgAdABtAG8AZABlACAAZgBvAG4AdAAgAGIAeQAgAFUAcgBzAGEARgByAGEAbgBrAEMAQwAwACAAMQAuADAAIABVAG4AaQB2AGUAcgBzAGEAbABoAHQAdABwAHMAOgAvAC8AYwByAGUAYQB0AGkAdgBlAGMAbwBtAG0AbwBuAHMALgBvAHIAZwAvAHAAdQBiAGwAaQBjAGQAbwBtAGEAaQBuAC8AegBlAHIAbwAvADEALgAwAC8ASABlAGwAbABvACAAVwBvAHIAbABkACEAAAADAAAAAAAAAGYAMwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\r
1364
1362
  `)).arrayBuffer();
1365
- await this.Ss(t), this.ws = m.parse(t)[0], await this.zs();
1363
+ await this.Ss(t), this.ws = m.parse(t)[0], await this.ks();
1366
1364
  }
1367
- ks(A) {
1365
+ zs(A) {
1368
1366
  if (A === void 0) return this._s;
1369
1367
  this._s = A, this.bs = this.Ys.calculateMaxGlyphDimensions(this.fs.map((e) => e.character), this._s, this.ws);
1370
- const t = this.$s.createTextureAtlas(this.fs, this.bs, this._s, this.ws);
1368
+ const t = this.Ms.createTextureAtlas(this.fs, this.bs, this._s, this.ws);
1371
1369
  this.ds = t.framebuffer, this.ps = t.columns, this.vs = t.rows;
1372
1370
  }
1373
- async Os(A) {
1371
+ async Ls(A) {
1374
1372
  try {
1375
1373
  const t = await fetch(A);
1376
1374
  if (!t.ok) throw new I(`Failed to load font file: ${t.status} ${t.statusText}`);
@@ -1378,19 +1376,19 @@ class bA {
1378
1376
  await this.Ss(e);
1379
1377
  const s = m.parse(e);
1380
1378
  if (!s || s.length === 0) throw Error("Failed to parse font file");
1381
- this.ws = s[0], await this.zs();
1379
+ this.ws = s[0], await this.ks();
1382
1380
  } catch (t) {
1383
1381
  throw new I("Failed to load font: " + (t instanceof Error ? t.message : "Unknown error"), t);
1384
1382
  }
1385
1383
  }
1386
1384
  async Ss(A) {
1387
1385
  const t = Date.now();
1388
- this.Gs = new FontFace("CustomFont_" + t, A), await this.Gs.load(), document.fonts.add(this.Gs);
1386
+ this.$s = new FontFace("CustomFont_" + t, A), await this.$s.load(), document.fonts.add(this.$s);
1389
1387
  }
1390
- async zs() {
1391
- const A = this.Ms.extractCharacters(this.ws), t = this.Ms.filterProblematicCharacters(A);
1388
+ async ks() {
1389
+ const A = this.Gs.extractCharacters(this.ws), t = this.Gs.filterProblematicCharacters(A);
1392
1390
  this.fs = this.Fs.createCharacterObjects(t, this.ws), this.bs = this.Ys.calculateMaxGlyphDimensions(t, this._s, this.ws);
1393
- const e = this.$s.createTextureAtlas(this.fs, this.bs, this._s, this.ws);
1391
+ const e = this.Ms.createTextureAtlas(this.fs, this.bs, this._s, this.ws);
1394
1392
  this.ds = e.framebuffer, this.ps = e.columns, this.vs = e.rows;
1395
1393
  }
1396
1394
  us(A) {
@@ -1399,8 +1397,8 @@ class bA {
1399
1397
  Is(A) {
1400
1398
  return this.Fs.Is(A, this.fs);
1401
1399
  }
1402
- zA() {
1403
- this.ds.zA(), document.fonts.delete(this.Gs);
1400
+ kA() {
1401
+ this.ds.kA(), document.fonts.delete(this.$s);
1404
1402
  }
1405
1403
  get fontFramebuffer() {
1406
1404
  return this.ds;
@@ -1426,19 +1424,19 @@ class bA {
1426
1424
  }
1427
1425
  class RA {
1428
1426
  constructor(A, t, e) {
1429
- Q(this, "Ls");
1430
- Q(this, "Us");
1427
+ Q(this, "Os");
1428
+ Q(this, "Ts");
1431
1429
  Q(this, "PA");
1432
1430
  Q(this, "uA");
1433
- Q(this, "Ts");
1434
- Q(this, "Hs");
1431
+ Q(this, "Us");
1435
1432
  Q(this, "Ws");
1433
+ Q(this, "Hs");
1436
1434
  Q(this, "Ks");
1437
1435
  Q(this, "Js");
1438
- this.Ws = A, this.Ks = t, this.Js = e, this.iA();
1436
+ this.Hs = A, this.Ks = t, this.Js = e, this.iA();
1439
1437
  }
1440
1438
  iA() {
1441
- this.Ls = Math.floor(this.Ws.width / this.Ks), this.Us = Math.floor(this.Ws.height / this.Js), this.PA = this.Ls * this.Ks, this.uA = this.Us * this.Js, this.Ts = Math.floor((this.Ws.width - this.PA) / 2), this.Hs = Math.floor((this.Ws.height - this.uA) / 2);
1439
+ this.Os = Math.floor(this.Hs.width / this.Ks), this.Ts = Math.floor(this.Hs.height / this.Js), this.PA = this.Os * this.Ks, this.uA = this.Ts * this.Js, this.Us = Math.floor((this.Hs.width - this.PA) / 2), this.Ws = Math.floor((this.Hs.height - this.uA) / 2);
1442
1440
  }
1443
1441
  Vs(A, t) {
1444
1442
  this.Ks = A, this.Js = t, this.iA();
@@ -1450,10 +1448,10 @@ class RA {
1450
1448
  return this.Js;
1451
1449
  }
1452
1450
  get cols() {
1453
- return this.Ls;
1451
+ return this.Os;
1454
1452
  }
1455
1453
  get rows() {
1456
- return this.Us;
1454
+ return this.Ts;
1457
1455
  }
1458
1456
  get width() {
1459
1457
  return this.PA;
@@ -1462,48 +1460,48 @@ class RA {
1462
1460
  return this.uA;
1463
1461
  }
1464
1462
  get offsetX() {
1465
- return this.Ts;
1463
+ return this.Us;
1466
1464
  }
1467
1465
  get offsetY() {
1468
- return this.Hs;
1466
+ return this.Ws;
1469
1467
  }
1470
1468
  }
1471
1469
  class TA {
1472
1470
  constructor(A = {}) {
1473
- Q(this, "Ws");
1471
+ Q(this, "Hs");
1474
1472
  Q(this, "Zs");
1475
1473
  Q(this, "Ns");
1476
- A.canvas ? (this.Ws = A.canvas, this.Ns = !1) : (this.Ws = this.Xs(A.width, A.height), this.Ns = !0), this.Ws.style.imageRendering = "pixelated";
1474
+ A.canvas ? (this.Hs = A.canvas, this.Ns = !1) : (this.Hs = this.Xs(A.width, A.height), this.Ns = !0), this.Hs.style.imageRendering = "pixelated";
1477
1475
  }
1478
1476
  Xs(A, t) {
1479
1477
  const e = document.createElement("canvas");
1480
1478
  return e.className = "textmodeCanvas", e.style.imageRendering = "pixelated", e.width = A || 800, e.height = t || 600, document.body.appendChild(e), e;
1481
1479
  }
1482
1480
  js(A, t) {
1483
- this.Ws.width = A ?? this.Ws.width, this.Ws.height = t ?? this.Ws.height;
1481
+ this.Hs.width = A ?? this.Hs.width, this.Hs.height = t ?? this.Hs.height;
1484
1482
  }
1485
1483
  qs() {
1486
- const A = this.Ws.getContext("webgl2", { alpha: !0, premultipliedAlpha: !1, preserveDrawingBuffer: !0, antialias: !1, depth: !1, stencil: !1, powerPreference: "high-performance" });
1484
+ const A = this.Hs.getContext("webgl2", { alpha: !0, premultipliedAlpha: !1, preserveDrawingBuffer: !0, antialias: !1, depth: !1, stencil: !1, powerPreference: "high-performance" });
1487
1485
  if (!A) throw new I("`textmode.js` requires WebGL2 support.");
1488
1486
  return A;
1489
1487
  }
1490
- zA() {
1488
+ kA() {
1491
1489
  this.Zs && this.Zs.disconnect();
1492
- const A = this.Ws.getContext("webgl") || this.Ws.getContext("webgl2");
1490
+ const A = this.Hs.getContext("webgl") || this.Hs.getContext("webgl2");
1493
1491
  if (A) {
1494
1492
  const t = A.getExtension("WEBGL_lose_context");
1495
1493
  t && t.loseContext();
1496
1494
  }
1497
- this.Ns && this.Ws.parentNode && this.Ws.parentNode.removeChild(this.Ws);
1495
+ this.Ns && this.Hs.parentNode && this.Hs.parentNode.removeChild(this.Hs);
1498
1496
  }
1499
1497
  get canvas() {
1500
- return this.Ws;
1498
+ return this.Hs;
1501
1499
  }
1502
1500
  get width() {
1503
- return this.Ws.width;
1501
+ return this.Hs.width;
1504
1502
  }
1505
1503
  get height() {
1506
- return this.Ws.height;
1504
+ return this.Hs.height;
1507
1505
  }
1508
1506
  }
1509
1507
  class MA {
@@ -1613,15 +1611,15 @@ class FA {
1613
1611
  bi() {
1614
1612
  return this.ai;
1615
1613
  }
1616
- Gi() {
1614
+ $i() {
1617
1615
  const A = [];
1618
1616
  for (const [t, e] of this.gi) e.isPressed && A.push(t);
1619
1617
  return A;
1620
1618
  }
1621
- Mi() {
1619
+ Gi() {
1622
1620
  return { ctrl: this.pi("Control"), shift: this.pi("Shift"), alt: this.pi("Alt"), meta: this.pi("Meta") };
1623
1621
  }
1624
- $i() {
1622
+ Mi() {
1625
1623
  this.gi.clear(), this.oi = null, this.ai = null;
1626
1624
  }
1627
1625
  Ii(A) {
@@ -1648,49 +1646,49 @@ class FA {
1648
1646
  }
1649
1647
  class GA {
1650
1648
  constructor(A) {
1651
- Q(this, "Ws");
1649
+ Q(this, "Hs");
1652
1650
  Q(this, "xi");
1653
1651
  Q(this, "Yi", { x: -1, y: -1 });
1654
1652
  Q(this, "Fi", { x: -1, y: -1 });
1655
1653
  Q(this, "Ri", null);
1656
1654
  Q(this, "Si");
1657
- Q(this, "zi");
1658
1655
  Q(this, "ki");
1659
- Q(this, "Oi");
1656
+ Q(this, "zi");
1660
1657
  Q(this, "Li");
1661
- Q(this, "Ui");
1662
- Q(this, "Ci", !1);
1658
+ Q(this, "Oi");
1663
1659
  Q(this, "Ti");
1664
- Q(this, "Hi");
1660
+ Q(this, "Ci", !1);
1661
+ Q(this, "Ui");
1665
1662
  Q(this, "Wi");
1663
+ Q(this, "Hi");
1666
1664
  Q(this, "Ki");
1667
1665
  Q(this, "Ji");
1668
- this.Ws = A;
1666
+ this.Hs = A;
1669
1667
  }
1670
1668
  Rs(A) {
1671
1669
  this.xi = A, this.Vi();
1672
1670
  }
1673
1671
  ui() {
1674
1672
  if (this.Ci) return;
1675
- const A = this.Ws.canvas;
1673
+ const A = this.Hs.canvas;
1676
1674
  this.Si = (t) => {
1677
1675
  this.Zi(t), this.Ni(t);
1678
- }, this.zi = () => {
1676
+ }, this.ki = () => {
1679
1677
  this.Fi = { ...this.Yi }, this.Yi.x = -1, this.Yi.y = -1, this.Ri = null;
1680
- }, this.ki = (t) => {
1678
+ }, this.zi = (t) => {
1681
1679
  this.Zi(t), this.Xi(t);
1682
- }, this.Oi = (t) => {
1683
- this.Zi(t), this.ji(t);
1684
1680
  }, this.Li = (t) => {
1681
+ this.Zi(t), this.ji(t);
1682
+ }, this.Oi = (t) => {
1685
1683
  this.Zi(t), this.qi(t);
1686
- }, this.Ui = (t) => {
1684
+ }, this.Ti = (t) => {
1687
1685
  this.Zi(t), this.AB(t);
1688
- }, A.addEventListener("mousemove", this.Si, { passive: !0 }), A.addEventListener("mouseleave", this.zi, { passive: !0 }), A.addEventListener("mousedown", this.ki, { passive: !0 }), A.addEventListener("mouseup", this.Oi, { passive: !0 }), A.addEventListener("click", this.Li, { passive: !0 }), A.addEventListener("wheel", this.Ui, { passive: !1 }), this.Ci = !0;
1686
+ }, A.addEventListener("mousemove", this.Si, { passive: !0 }), A.addEventListener("mouseleave", this.ki, { passive: !0 }), A.addEventListener("mousedown", this.zi, { passive: !0 }), A.addEventListener("mouseup", this.Li, { passive: !0 }), A.addEventListener("click", this.Oi, { passive: !0 }), A.addEventListener("wheel", this.Ti, { passive: !1 }), this.Ci = !0;
1689
1687
  }
1690
1688
  fi() {
1691
1689
  if (!this.Ci) return;
1692
- const A = this.Ws.canvas;
1693
- A.removeEventListener("mousemove", this.Si), A.removeEventListener("mouseleave", this.zi), A.removeEventListener("mousedown", this.ki), A.removeEventListener("mouseup", this.Oi), A.removeEventListener("click", this.Li), A.removeEventListener("wheel", this.Ui), this.Ci = !1;
1690
+ const A = this.Hs.canvas;
1691
+ A.removeEventListener("mousemove", this.Si), A.removeEventListener("mouseleave", this.ki), A.removeEventListener("mousedown", this.zi), A.removeEventListener("mouseup", this.Li), A.removeEventListener("click", this.Oi), A.removeEventListener("wheel", this.Ti), this.Ci = !1;
1694
1692
  }
1695
1693
  Vi() {
1696
1694
  if (this.Ci) try {
@@ -1703,13 +1701,13 @@ class GA {
1703
1701
  }
1704
1702
  }
1705
1703
  tB(A) {
1706
- this.Ti = A;
1704
+ this.Ui = A;
1707
1705
  }
1708
1706
  di(A) {
1709
- this.Hi = A;
1707
+ this.Wi = A;
1710
1708
  }
1711
1709
  _i(A) {
1712
- this.Wi = A;
1710
+ this.Hi = A;
1713
1711
  }
1714
1712
  eB(A) {
1715
1713
  this.Ki = A;
@@ -1727,21 +1725,21 @@ class GA {
1727
1725
  }
1728
1726
  }
1729
1727
  Xi(A) {
1730
- if (this.Hi) {
1728
+ if (this.Wi) {
1731
1729
  const t = { position: { ...this.Yi }, previousPosition: { ...this.Fi }, button: A.button, originalEvent: A };
1732
- this.Hi(t);
1730
+ this.Wi(t);
1733
1731
  }
1734
1732
  }
1735
1733
  ji(A) {
1736
- if (this.Wi) {
1734
+ if (this.Hi) {
1737
1735
  const t = { position: { ...this.Yi }, previousPosition: { ...this.Fi }, button: A.button, originalEvent: A };
1738
- this.Wi(t);
1736
+ this.Hi(t);
1739
1737
  }
1740
1738
  }
1741
1739
  qi(A) {
1742
- if (this.Ti) {
1740
+ if (this.Ui) {
1743
1741
  const t = { position: { ...this.Yi }, previousPosition: { ...this.Fi }, button: A.button, originalEvent: A };
1744
- this.Ti(t);
1742
+ this.Ui(t);
1745
1743
  }
1746
1744
  }
1747
1745
  AB(A) {
@@ -1751,7 +1749,7 @@ class GA {
1751
1749
  }
1752
1750
  }
1753
1751
  Zi(A) {
1754
- const t = this.Ws.canvas;
1752
+ const t = this.Hs.canvas;
1755
1753
  this.Fi = { ...this.Yi }, this.Ri = { x: A.clientX, y: A.clientY };
1756
1754
  const e = t.getBoundingClientRect(), s = A.clientX - e.left, i = A.clientY - e.top, B = t.width / e.width, r = i * (t.height / e.height), n = s * B - this.xi.offsetX, o = r - this.xi.offsetY, a = Math.floor(n / this.xi.cellWidth), g = Math.floor(o / this.xi.cellHeight);
1757
1755
  a >= 0 && a < this.xi.cols && g >= 0 && g < this.xi.rows ? (this.Yi.x = a, this.Yi.y = g) : (this.Yi.x = -1, this.Yi.y = -1);
@@ -1819,10 +1817,10 @@ const YA = (E) => class extends E {
1819
1817
  this.vA.be(A, t, e / 2, s / 2);
1820
1818
  }
1821
1819
  triangle(A, t, e, s, i, B) {
1822
- this.vA.Ge(A, t, e, s, i, B);
1820
+ this.vA.$e(A, t, e, s, i, B);
1823
1821
  }
1824
1822
  bezierCurve(A, t, e, s, i, B, r, n) {
1825
- this.vA.Me(A, t, e, s, i, B, r, n);
1823
+ this.vA.Ge(A, t, e, s, i, B, r, n);
1826
1824
  }
1827
1825
  arc(A, t, e, s, i, B) {
1828
1826
  this.vA.xe(A, t, e, s, i, B);
@@ -1840,7 +1838,7 @@ const YA = (E) => class extends E {
1840
1838
  return this.vA.et(A);
1841
1839
  }
1842
1840
  createFramebuffer(A) {
1843
- return this.vA.$e(A.width, A.height, 5, { filter: "nearest", wrap: "clamp", format: "rgba", type: "unsigned_byte" });
1841
+ return this.vA.Me(A.width, A.height, 5, { filter: "nearest", wrap: "clamp", format: "rgba", type: "unsigned_byte" });
1844
1842
  }
1845
1843
  image(A, t, e, s, i) {
1846
1844
  this.vA.pe(A, t, e, s ?? A.width, i ?? A.height);
@@ -2036,19 +2034,19 @@ class LA {
2036
2034
  for (const B of A) i.push(this.yB(B, t, e, s));
2037
2035
  return i.push(this._B()), i.join("");
2038
2036
  }
2039
- GB(A) {
2037
+ $B(A) {
2040
2038
  return A.replace(/<path[^>]*d=""[^>]*\/>/g, "").replace(/\s+/g, " ").replace(/> </g, "><");
2041
2039
  }
2042
2040
  }
2043
2041
  class UA extends W {
2044
- MB(A) {
2042
+ GB(A) {
2045
2043
  return this.rB(A, "image/svg+xml;charset=utf-8");
2046
2044
  }
2047
- $B(A, t) {
2045
+ MB(A, t) {
2048
2046
  this.nB(A, this.aB(t) + ".svg", "image/svg+xml;charset=utf-8");
2049
2047
  }
2050
2048
  xB(A, t) {
2051
- this.$B(A, t || this.hB());
2049
+ this.MB(A, t || this.hB());
2052
2050
  }
2053
2051
  }
2054
2052
  class J {
@@ -2061,16 +2059,16 @@ class J {
2061
2059
  SB(A) {
2062
2060
  return { includeBackgroundRectangles: A.includeBackgroundRectangles ?? !0, drawMode: A.drawMode ?? "fill", strokeWidth: A.strokeWidth ?? 1, backgroundColor: A.backgroundColor ?? [0, 0, 0, 0], filename: A.filename || this.RB.hB() };
2063
2061
  }
2064
- zB(A, t = {}) {
2062
+ kB(A, t = {}) {
2065
2063
  const e = this.YB.lB(this.YB.BB(A.pipeline), A.grid), s = this.FB.bB(e, A.grid, A.font, this.SB(t));
2066
- return this.FB.GB(s);
2064
+ return this.FB.$B(s);
2067
2065
  }
2068
2066
  xB(A, t = {}) {
2069
- this.RB.xB(this.zB(A, t), t.filename);
2067
+ this.RB.xB(this.kB(A, t), t.filename);
2070
2068
  }
2071
2069
  }
2072
2070
  class OA extends O {
2073
- kB(A, t, e, s = " ") {
2071
+ zB(A, t, e, s = " ") {
2074
2072
  var r;
2075
2073
  const i = [];
2076
2074
  let B = 0;
@@ -2086,7 +2084,7 @@ class OA extends O {
2086
2084
  }
2087
2085
  }
2088
2086
  class WA {
2089
- OB(A, t) {
2087
+ LB(A, t) {
2090
2088
  const e = [];
2091
2089
  for (const i of A) {
2092
2090
  let B = i.join("");
@@ -2099,11 +2097,11 @@ class WA {
2099
2097
  }
2100
2098
  }
2101
2099
  class zA extends W {
2102
- LB(A, t) {
2103
- const e = this.UB(t);
2100
+ OB(A, t) {
2101
+ const e = this.TB(t);
2104
2102
  this.nB(A, e, "text/plain;charset=utf-8");
2105
2103
  }
2106
- UB(A) {
2104
+ TB(A) {
2107
2105
  let t = this.aB(A);
2108
2106
  return t === ".txt" || t.length <= 4 ? this.hB() : t;
2109
2107
  }
@@ -2118,16 +2116,16 @@ class K {
2118
2116
  SB(A) {
2119
2117
  return { preserveTrailingSpaces: A.preserveTrailingSpaces ?? !1, lineEnding: A.lineEnding ?? "lf", emptyCharacter: A.emptyCharacter ?? " ", filename: A.filename || this.RB.hB() };
2120
2118
  }
2121
- TB(A, t = {}) {
2122
- const e = this.SB(t), s = this.YB.kB(this.YB.BB(A.pipeline), A.grid, A.font, e.emptyCharacter);
2123
- return this.FB.OB(s, e);
2119
+ UB(A, t = {}) {
2120
+ const e = this.SB(t), s = this.YB.zB(this.YB.BB(A.pipeline), A.grid, A.font, e.emptyCharacter);
2121
+ return this.FB.LB(s, e);
2124
2122
  }
2125
- LB(A, t = {}) {
2126
- this.RB.LB(this.TB(A, t), t.filename);
2123
+ OB(A, t = {}) {
2124
+ this.RB.OB(this.UB(A, t), t.filename);
2127
2125
  }
2128
2126
  }
2129
- class NA extends O {
2130
- HB(A, t = 1, e = "transparent") {
2127
+ class kA extends O {
2128
+ WB(A, t = 1, e = "transparent") {
2131
2129
  const s = A.canvas;
2132
2130
  if (t === 1 && e === "transparent") return s;
2133
2131
  const i = document.createElement("canvas"), B = i.getContext("2d"), r = Math.round(s.width * t), n = Math.round(s.height * t);
@@ -2135,7 +2133,7 @@ class NA extends O {
2135
2133
  }
2136
2134
  }
2137
2135
  class HA {
2138
- WB(A, t) {
2136
+ HB(A, t) {
2139
2137
  const e = this.KB(t.format);
2140
2138
  return t.format === "png" ? A.toDataURL(e) : A.toDataURL(e, t.quality);
2141
2139
  }
@@ -2160,7 +2158,7 @@ class HA {
2160
2158
  }
2161
2159
  }
2162
2160
  }
2163
- const kA = { png: "image/png", jpg: "image/jpeg", webp: "image/webp" }, $ = { png: ".png", jpg: ".jpg", webp: ".webp" };
2161
+ const NA = { png: "image/png", jpg: "image/jpeg", webp: "image/webp" }, $ = { png: ".png", jpg: ".jpg", webp: ".webp" };
2164
2162
  class JA extends W {
2165
2163
  VB(A, t, e) {
2166
2164
  this.ZB(A, this.aB(t) + $[e]);
@@ -2175,7 +2173,7 @@ class JA extends W {
2175
2173
  }
2176
2174
  }
2177
2175
  NB(A) {
2178
- return A in kA && A in $;
2176
+ return A in NA && A in $;
2179
2177
  }
2180
2178
  }
2181
2179
  class KA {
@@ -2183,7 +2181,7 @@ class KA {
2183
2181
  Q(this, "YB");
2184
2182
  Q(this, "FB");
2185
2183
  Q(this, "RB");
2186
- this.YB = new NA(), this.FB = new HA(), this.RB = new JA();
2184
+ this.YB = new kA(), this.FB = new HA(), this.RB = new JA();
2187
2185
  }
2188
2186
  SB(A) {
2189
2187
  return { format: A.format ?? "png", quality: A.quality ?? 1, scale: A.scale ?? 1, backgroundColor: A.backgroundColor ?? "transparent", filename: A.filename || this.RB.hB() };
@@ -2196,7 +2194,7 @@ class KA {
2196
2194
  }
2197
2195
  async JB(A, t) {
2198
2196
  if (t.scale === 1 && t.backgroundColor === "transparent") return await this.FB.JB(A.canvas, t);
2199
- const e = this.YB.HB(A, t.scale, t.backgroundColor);
2197
+ const e = this.YB.WB(A, t.scale, t.backgroundColor);
2200
2198
  return await this.FB.JB(e, t);
2201
2199
  }
2202
2200
  async VB(A, t = {}) {
@@ -2211,34 +2209,34 @@ const $A = (E) => class extends E {
2211
2209
  this.vA.FA(this.qB);
2212
2210
  }
2213
2211
  toString(A = {}) {
2214
- return this.jB(), new K().TB({ pipeline: this.AQ, grid: this.xi, font: this.ws }, A);
2212
+ return this.jB(), new K().UB({ pipeline: this.AQ, grid: this.xi, font: this.ws }, A);
2215
2213
  }
2216
2214
  saveStrings(A = {}) {
2217
- this.jB(), new K().LB({ pipeline: this.AQ, grid: this.xi, font: this.ws }, A);
2215
+ this.jB(), new K().OB({ pipeline: this.AQ, grid: this.xi, font: this.ws }, A);
2218
2216
  }
2219
2217
  toSVG(A = {}) {
2220
- return this.jB(), new J().zB({ pipeline: this.AQ, grid: this.xi, font: this.ws }, A);
2218
+ return this.jB(), new J().kB({ pipeline: this.AQ, grid: this.xi, font: this.ws }, A);
2221
2219
  }
2222
2220
  saveSVG(A = {}) {
2223
2221
  this.jB(), new J().xB({ pipeline: this.AQ, grid: this.xi, font: this.ws }, A);
2224
2222
  }
2225
2223
  async saveCanvas(A = {}) {
2226
- await new KA().VB(this.Ws, A);
2224
+ await new KA().VB(this.Hs, A);
2227
2225
  }
2228
- }, XA = (E) => class extends E {
2226
+ }, VA = (E) => class extends E {
2229
2227
  async loadFont(A) {
2230
- return this.ws.Os(A).then(() => {
2228
+ return this.ws.Ls(A).then(() => {
2231
2229
  const t = this.ws.maxGlyphDimensions;
2232
2230
  this.xi.Vs(t.width, t.height), this.AQ.resize(this.xi.cols, this.xi.rows), this.vA.Fe(), this.tQ.Vi();
2233
2231
  });
2234
2232
  }
2235
2233
  fontSize(A) {
2236
2234
  if (!M._(typeof A == "number" && A > 0, "Font size must be a positive number greater than 0.", { method: "fontSize", providedValue: A }) || this.ws.fontSize === A) return;
2237
- this.ws.ks(A);
2235
+ this.ws.zs(A);
2238
2236
  const t = this.ws.maxGlyphDimensions;
2239
2237
  this.xi.Vs(t.width, t.height), this.AQ.resize(this.xi.cols, this.xi.rows), this.vA.Fe(), this.tQ.Vi();
2240
2238
  }
2241
- }, VA = (E) => class extends E {
2239
+ }, XA = (E) => class extends E {
2242
2240
  get frameCount() {
2243
2241
  return this.eQ.frameCount;
2244
2242
  }
@@ -2295,9 +2293,6 @@ const $A = (E) => class extends E {
2295
2293
  isKeyPressed(A) {
2296
2294
  return this.iQ.pi(A);
2297
2295
  }
2298
- clearKeyStates() {
2299
- this.iQ.$i();
2300
- }
2301
2296
  get lastKeyPressed() {
2302
2297
  return this.iQ.yi();
2303
2298
  }
@@ -2305,17 +2300,17 @@ const $A = (E) => class extends E {
2305
2300
  return this.iQ.bi();
2306
2301
  }
2307
2302
  get pressedKeys() {
2308
- return this.iQ.Gi();
2303
+ return this.iQ.$i();
2309
2304
  }
2310
2305
  get modifierState() {
2311
- return this.iQ.Mi();
2306
+ return this.iQ.Gi();
2312
2307
  }
2313
2308
  };
2314
2309
  class qA {
2315
2310
  constructor() {
2316
2311
  Q(this, "vA");
2317
2312
  Q(this, "ws");
2318
- Q(this, "Ws");
2313
+ Q(this, "Hs");
2319
2314
  Q(this, "xi");
2320
2315
  Q(this, "eQ");
2321
2316
  Q(this, "tQ");
@@ -2329,7 +2324,7 @@ class qA {
2329
2324
  }
2330
2325
  class At extends function(t, ...e) {
2331
2326
  return e.reduce((s, i) => i(s), t);
2332
- }(qA, YA, $A, XA, VA, ZA, jA) {
2327
+ }(qA, YA, $A, VA, XA, ZA, jA) {
2333
2328
  constructor(t = {}) {
2334
2329
  super();
2335
2330
  Q(this, "QQ", !1);
@@ -2340,25 +2335,25 @@ class At extends function(t, ...e) {
2340
2335
  Q(this, "nQ", () => {
2341
2336
  });
2342
2337
  Q(this, "gQ");
2343
- this.Ws = new TA(t), this.vA = new uA(this.Ws.qs()), this.ws = new bA(this.vA, t.fontSize ?? 16), this.eQ = new MA(t.frameRate ?? 60), this.tQ = new GA(this.Ws), this.iQ = new FA(), this.qB = this.vA.YA(), this.BQ = this.vA.tt(), this.oQ(t);
2338
+ this.Hs = new TA(t), this.vA = new uA(this.Hs.qs()), this.ws = new bA(this.vA, t.fontSize ?? 16), this.eQ = new MA(t.frameRate ?? 60), this.tQ = new GA(this.Hs), this.iQ = new FA(), this.qB = this.vA.YA(), this.BQ = this.vA.tt(), this.oQ(t);
2344
2339
  }
2345
2340
  async oQ(t) {
2346
2341
  await this.ws.Rs(t.fontSource);
2347
2342
  const e = this.ws.maxGlyphDimensions;
2348
- this.xi = new RA(this.Ws.canvas, e.width, e.height), this.tQ.Rs(this.xi), this.AQ = this.vA.$e(this.xi.cols, this.xi.rows, 5), this.aQ(), this.EQ(), this.eQ.start(() => this.sQ());
2343
+ this.xi = new RA(this.Hs.canvas, e.width, e.height), this.tQ.Rs(this.xi), this.AQ = this.vA.Me(this.xi.cols, this.xi.rows, 5), this.aQ(), this.EQ(), this.eQ.start(() => this.sQ());
2349
2344
  }
2350
2345
  aQ() {
2351
2346
  this.gQ = () => {
2352
2347
  this.nQ();
2353
2348
  }, window.addEventListener("resize", this.gQ), this.tQ.ui(), this.iQ.ui(), window.addEventListener("blur", () => {
2354
- this.iQ.$i();
2349
+ this.iQ.Mi();
2355
2350
  });
2356
2351
  }
2357
2352
  sQ() {
2358
2353
  if (this.eQ.measureFrameRate(), this.eQ.incrementFrame(), this.QQ) return;
2359
2354
  this.AQ.begin(), this.vA.we(this.qB), this.rQ(), this.vA.FA(this.qB), this.AQ.end();
2360
2355
  const t = this.vA.state.canvasBackgroundColor;
2361
- this.vA.Lt(t[0], t[1], t[2], t[3]), this.vA.we(this.BQ), this.BQ.JA({ a: this.ws.fontFramebuffer, b: [this.ws.textureColumns, this.ws.textureRows], c: this.AQ.textures[0], d: this.AQ.textures[1], e: this.AQ.textures[2], f: this.AQ.textures[4], g: this.AQ.textures[3], h: [this.xi.cols, this.xi.rows], i: [this.xi.width, this.xi.height], j: [this.xi.offsetX, this.xi.offsetY], k: this.xi.width / this.xi.height }), this.vA.me(this.xi.offsetX, this.xi.offsetY, this.xi.width, this.xi.height);
2356
+ this.vA.Ot(t[0], t[1], t[2], t[3]), this.vA.we(this.BQ), this.BQ.JA({ a: this.ws.fontFramebuffer, b: [this.ws.textureColumns, this.ws.textureRows], c: this.AQ.textures[0], d: this.AQ.textures[1], e: this.AQ.textures[2], f: this.AQ.textures[4], g: this.AQ.textures[3], h: [this.xi.cols, this.xi.rows], i: [this.xi.width, this.xi.height], j: [this.xi.offsetX, this.xi.offsetY], k: this.xi.width / this.xi.height }), this.vA.me(this.xi.offsetX, this.xi.offsetY, this.xi.width, this.xi.height);
2362
2357
  }
2363
2358
  setup(t) {
2364
2359
  this.EQ = t;
@@ -2370,10 +2365,10 @@ class At extends function(t, ...e) {
2370
2365
  this.nQ = t;
2371
2366
  }
2372
2367
  resizeCanvas(t, e) {
2373
- this.Ws.js(t, e), this.xi.iA(), this.AQ.resize(this.xi.cols, this.xi.rows), this.vA.Fe(), this.tQ.Vi(), this.sQ();
2368
+ this.Hs.js(t, e), this.xi.iA(), this.AQ.resize(this.xi.cols, this.xi.rows), this.vA.Fe(), this.tQ.Vi(), this.sQ();
2374
2369
  }
2375
2370
  destroy() {
2376
- this.QQ || (this.eQ.stop(), window.removeEventListener("resize", this.gQ), this.tQ.fi(), this.iQ.fi(), this.ws.zA(), this.vA.zA(), this.QQ = !0);
2371
+ this.QQ || (this.eQ.stop(), window.removeEventListener("resize", this.gQ), this.tQ.fi(), this.iQ.fi(), this.ws.kA(), this.vA.kA(), this.QQ = !0);
2377
2372
  }
2378
2373
  get grid() {
2379
2374
  return this.xi;
@@ -2382,13 +2377,13 @@ class At extends function(t, ...e) {
2382
2377
  return this.ws;
2383
2378
  }
2384
2379
  get width() {
2385
- return this.Ws.width;
2380
+ return this.Hs.width;
2386
2381
  }
2387
2382
  get height() {
2388
- return this.Ws.height;
2383
+ return this.Hs.height;
2389
2384
  }
2390
2385
  get canvas() {
2391
- return this.Ws.canvas;
2386
+ return this.Hs.canvas;
2392
2387
  }
2393
2388
  get isDisposed() {
2394
2389
  return this.QQ;
@@ -2407,15 +2402,15 @@ class z {
2407
2402
  M.v(A);
2408
2403
  }
2409
2404
  static get version() {
2410
- return "0.2.1-beta.2";
2405
+ return "0.2.1-beta.3";
2411
2406
  }
2412
2407
  }
2413
2408
  const et = Object.freeze(Object.defineProperty({ __proto__: null }, Symbol.toStringTag, { value: "Module" })), st = z.create, it = z.setErrorLevel, Bt = z.version;
2414
2409
  export {
2415
- U as GLFramebuffer,
2416
2410
  TA as TextmodeCanvas,
2417
2411
  tA as TextmodeErrorLevel,
2418
2412
  bA as TextmodeFont,
2413
+ U as TextmodeFramebuffer,
2419
2414
  RA as TextmodeGrid,
2420
2415
  At as Textmodifier,
2421
2416
  st as create,